Issue #358 - replace custom fatJar with Shadow plugin

Replace the custom fatJar implementation with the Shadow plugin.

Addresses #358 
This was the only way I could think of doing this without having the `ShadowPlugin` class in the classpath. Gradle 2.0 adds the `project.plugins.withId(id) {...}` that would allow us to interact in this manner but cleaner.