Implement use of logging package in forcebalance

Mostly print --> logger.info() conversion. Note that print does some extra formatting like adding newlines so output strings needed to be adjusted in many cases.

In general, `print text` changes to `logger.info(text + '\n')` or `logger.info("%s\n" % text)`.
logger methods also expect to get strings as input, while print function will do some simple conversions for you. In some cases I have added explicit str() casts to ensure that input is in the proper format (mostly relevant when printing more complex things like arrays and numpy floats.
These changes have been tested through the unit test framework but its possible there might be some conversion errors (unbalanced parenthesis, formatting errors, etc) in untested branches of code.

Modules that need to print things should also include the following in the imports section:
```python
from forcebalance.output import getLogger
logger = getLogger(__name__)
```
I have tried my best to retain the original formatting, especially with respect to newlines and carriage returns.

There are probably more commits here than necessary, but they can be squashed together when merging for simplicity's sake.