Mg struct refactoring

:warning: WIP :warning: 

Pah today has a lot of procedural code, this sucks because it is hard to refactoring. I am proposing a new structure, all templates will need to follow a convention. Like this:

```ruby
module Pah
  module Templates
    class Git < Pah::Base

      def call
        copy_static_file '.gitignore'

        git :init
        git add: '--all'
        git_commit 'Initial commit.'
      end
    end
  end
end
```

As you can see as a class it is more easy to refactoring this.

For now I moved all the helper functions to a single class `Pah::Base` but the idea is split this in a `Pah::Template::Base`, and all templates will inherit from this. I will keep the `Pah::Base` for now to do this transition more easy.

@fgrehm @TiuTalk what you guys think?