Make Journal a general interface

This change moves the loading and saving mechanisms into its own
Plain- and EncryptedJournal subclasses for easier maintenance and lazy loading
of all the crypto modules.
Move and remove imports in utils
Remove circular dependency
Fix failing behave tests
Deprecate config.password
Merge branch 'optims' into 2.0-rc1