Finalize
Large scale reordering/rewriting of the code to make it more maintainable and more easily modifyable in the future (hopefully). Big changes in the code, but the NEB implementation is the same, and it should work the same way as the old version.