Command: Added abstract Command class

This class represents a command that the backup application can execute.
Command: Added generic usage method to print the usage text.
CreateCommand: Added and implemented the CreateCommand which creates new incremental backups.

The CreateCommand reads in the command line options and reads in the configuration file. It then creates an incremental backup using the Backup class.
Main: Now using the command structure to start the application.

Main uses Command subclasses to start the application. Currently the help and create commands are recognized.
Configuration: Now catching a possible exception when opening the configuration file.

It could be that the configuration file is not readable or does not exist when reading the configuration. Instead of throwing an Exception a nice error message is now printed out.
Configuration: Added default value for the shouldLog property.

The shouldLog property is used to determine whether each backup should be given its own log file.
Log: Implemented logging to a file.

The logger checks whether the configuration has the shouldLog property set and logs the contents to a given file handler if so.
Log: Fixed bug in setConfiguration

Fixed a massive syntax error when setting the new configuration object.
Log: Fixed call to super in NoLogFileException.

Passed the wrong class name when calling super.
CreateCommand: Setting up Log with the read configuration after setup.
Log: Fixed bug when accessing the log file handle.
Backup: Implemented usage of the log file.

Properly configuring the log file handle for Log if it is necessary.