Fixed #20 by adding integration tests

Basically this addresses #20 although it does not fix any timings issues in your local network (I am thinking about a solution for that). 

All the tests that require to fetch gems or jars as part of the test are now in ```src/integTest```. To this extent I had to refactor ```JRubyExecSpec``` and ```JRubyPluginTest``` and create ```JRubyExecIntegrationSpec``` and ```JRubyPluginIntegrationSpec```.

Integration tests will still run by default, but if you specify ```-PintegTest=0``` on the gradle command-line all integration tests will be ignored and a warning will be printed. This also allows you to execute other tests which are fast locally and leave some of the longer running tests for CI or pre-release.

*NOTE:* If you specify ```--offline``` on the gradle command-line, it will still result in a number of skipped integration tests. However ```--offlne``` should not be considered a way to skip integration tests, as that parameter also disables all normal dependency checking. Skipped integration tests should just be considered a side-effect.
If we have the `test` task already executing the unit tests then I think `check` can default to depending on integration tests. As long as I can run `test` quickly for a TDD interation I'm okay with `check` being the slow one.

Using properties is a bit onerous