Container based development environment

Currently using Docker and Fig which will make it easy to package
up and deploy anywhere whilst still being able to very easily switch
java versions.