Usability additions

* Added a timestamp to log output
* Creating the supplied download directory before downloading files
* Added an error exit code if there are failures
* Added some gradle build stuff to make deploying a bit easier