Adds config file support.

Right now the config file is located in the directory where trove
resides. If it does not exist, the program creates a generic config
file.
Use ConfigParser now to write trove.conf
Warns if only General section exists in trove.conf

The user should in this case create a new encrypted file with a
'create' command which still has to be implemented.
However right now the program still continues to read in the
passwd.bfe file (which has to be in the same directory).
Will have to stop that from happening.
Uses internal print functions from View now.
Adds newline to prompt.
Only read encrypted file if it is defined.
Updates formatting of output messages.

Since the prompt now prints a newline before the program name, we
do not need the newlines at other places.
Rearranges cases in handling of config sections.

The code in controller::read_config should read more clearly now.
Only one encrypted file is supported. Multi file support will be
introduced later.
Simplifies Model attributes.
Adds startup checks to Controller.
Removes a blank line error message.
Display of result list is in separate method now.
Adds content to edit method.
Use all fields to calculate hash.
Removes a blank line in error message.
Introduces dot (.) to cancel all operations.
List of results is sorted now.
Removes a logical error at runtime.

The code in this segment of the Controller is awful.
Need to make the number and names of keys/fields
configurable. Then this code will look nicer.
Space can now be entered via ~~
Adds some more ideas for checks at startup.