Add documentation and compile task

Also update to use new RubyGems API
Use new project structure