Large rewrite of the module

- Make the core more dynamic for different service providers and multi instance capable
- Add better testing and devide into different files
- Fix template function. Replace of template is now only done when the file is changed
- Add different ways to install the package except from the repository ( puppet/http/https/ftp/file )
- Update java class to install openjdk 1.7
- Add tests for python function
- Update config file template to fix scoping issue ( from PR #57 )
Fix template spec tests
Add template check
set correct url for gems
Move gemfile in prep for system tests later on
Fix some failing tests by adding a init file template

This init file template can later be used for multi-instance features
This should fix the issue in ruby 1.9+
Update Readme
Added more test and ensured sequence
Several changes

- Adding more tests
- Ensuring we don't do certain stuff if we remove the module
- Add an other validation method ( puppet parser validate )
Fix config.pp error and improve parser validate task
fix module removal
ensure package download is done before installation
Improve module removal functionality
Make puppet lint happy again.
Make the plugin define work :-)
Adding official python client to define
Adding define for ruby clients
Modify tests for python clients and add tests for ruby clients
Update readme