Only process when necessary and simplify project.

* Detect if the message configuration and messages files have changed.
If not, skip processing.
* Added 'checkMessages' and 'generateMessagesObject' Commands.
* Added a Status return value to the Tasks.
* Merged the Scala and Java libraries.
* Remove the Java specific Message class as the Scala version can be
used.
* Added a 'onNoChangeLoadDefaultMessageKeys' setting for SBT Plugins
that extend this Plugin.