(re)Implemented path generation
Changed output type if command is not unique
Use the real keys to verify a string is a command

This patch changes the check if a string is a command.

The patch adds methods to the "Module" class to provide an easy way to
get the classes from a module. After that, it uses all classes from the
Diary::Commands module and gets it's keys. With the new singleton-method
:command_keys it retreives the keys and matches them against the string.
Tell the commands which are going to be executed the runtime
Editor call implemented
Fix: Path generation for new file in AddCommand class
Fix: dir path generation in AddCommand class
We should cleanly exit here.
Write the default content to the file, this adds the :meta_content_separator config key
Enabled editor call and set config to call `vim + -u ~/.vimrc`
We can identify commands here, so we stop adding arguments to the latest command
Check if an instance of a Command has enough attributes
Refactored: "expected attribute count" renamed to "expected argument count"
Refactored into smaller code chunks
Merge branch 'implement-addcommand'
Merge branch 'refactor'