Fixed bug caching templates that don't exist

If you try to use lazybones with a template that doesn't exist
in the cache or bintray, it creates a 0 byte file in the cache.
I added some exception handling and an error message back to the
user to handle this.
Added a cache templates gradle task.

Copies packaged templates into ~/.groovy/lazybones to remove
the publishing step when you're just working locally.
Changing cache directory to ~/.lazybones/templates
Merge https://github.com/kyleboon/lazybones into kyleboon
Rename main class in build file.

This should have been done as part of the LazyBonesMain -> LazybonesMain change
but was missed.
Add extra error-handling to create command.
Add integration tests to cover error handling in 'create'.
Make minor style changes.
Fix filenames for LazyBones -> Lazybones change.
Bump version to 0.3.
Fix capitalisation: BinTray -> Bintray.
Update README with 'info' and 'list' commands.
Add build status to README (using drone.io).
Use Java logging for diagnostic info.

I have incorporated Groovy's @Log annotation to provide loggers for the main
classes. A logger is also available to post-installation scripts via the log
property as well.

I have also switched back to using println() for the normal output of commands.
I originally used an explicit System.out.println() call and put that inside
another method to avoid Groovy initialisation cost. But that cost seems to be
incurred no matter what I do (unless I write Java code), so this 'optimisation'
just isn't worth it.