Implementing Genetic Algorithm and Adding All that are Necessary

- Add optimization class and parameters handler
- Implement genetic algorithm
- Keep atoms original location separated from new pose that is used for
energy calculation
- Calculate binding torsional free energy for further use (not for pose
free energy calculation)
- Add random generator function for negative PI to positive PI
- Clean up codes from unnecessary debug messages
- Delete Molecule and Scoring implementations