Improve logging.

- Logging now separated into four "levels": verbose, information,
warning and error.
- Running tests now shows no undesirable logging on the screen.
- Improved certain error messages.
Fix up documentation, clean up test.

Final commit.
Merge pull request #55 from patrickmeiring/master

Please merge.