Test against multiple AS and Sinatra versions

This enables testing against Sinatra Edge and multiple activesupport versions. The change also
lowers the activesupport dependency to 3.1.

Failures in Sinatra Edge tests are ignored
Less matrix entries for sinatra_edge and ActiveSupport

Travis is free, so don't tax it too much with matrix entries that don't give much gain.
Add request.action which shows the exact first parameter used to register the route

For `get :index` it will be :index
For `get '/post(/:id)' it will be '/post(/:id)'
It can be called an action name, but it's not an action exactly
Add test for #933
```fields.each { |field| field << ":string" unless field =~ /:/ }```

was throwing a frozen string issue, see:

```
@daris.local➜  issue_924  bundle exec padrino g model test_model test_field:boolean super_field_string_default
       apply  orms/activerecord
/Users/daris/Documents/uxtemple/opensource/padrino-framework/padrino-gen/lib/padrino-gen/generators/actions.rb:227:in `block in apply_default_fields': can't modify frozen String (RuntimeError)
  from /Users/daris/Documents/uxtemple/opensource/padrino-framework/padrino-gen/lib/padrino-gen/generators/actions.rb:227:in `map'
  from /Users/daris/Documents/uxtemple/opensource/padrino-framework/padrino-gen/lib/padrino-gen/generators/actions.rb:227:in `apply_default_fields'
  from /Users/daris/Documents/uxtemple/opensource/padrino-framework/padrino-gen/lib/padrino-gen/generators/model.rb:53:in `create_model'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/task.rb:27:in `run'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation.rb:120:in `invoke_task'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation.rb:126:in `block in invoke_all'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation.rb:126:in `each'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation.rb:126:in `map'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation.rb:126:in `invoke_all'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/group.rb:238:in `dispatch'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/base.rb:425:in `start'
  from /Users/daris/Documents/uxtemple/opensource/padrino-framework/padrino-gen/lib/padrino-gen/generators/cli.rb:51:in `setup'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/task.rb:27:in `run'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation.rb:120:in `invoke_task'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation.rb:126:in `block in invoke_all'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation.rb:126:in `each'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation.rb:126:in `map'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation.rb:126:in `invoke_all'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/group.rb:238:in `dispatch'
  from /Users/daris/.rbenv/versions/1.9.3-p362/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/base.rb:425:in `start'
  from /Users/daris/Documents/uxtemple/opensource/padrino-framework/padrino-gen/bin/padrino-gen:16:in `<main>'
```
Merge pull request #1004 from ujifgc/route-action

Add request.action to implement #843
Merge pull request #1005 from ujifgc/test-with

Add test for #933
Fix static string in generator template
Merge pull request #1006 from padrino/fix-default-string-if-none-set

Fix default type for model generation from frozen String issue.
Applied @DAddYE's suggestion on #783
Merge remote-tracking branch 'origin/master' into apps-in-gems
Make the gem name a settable option
Remove magic to find one app in a module

This change expects that all app names are given in full. No magic detection of apps in modules -
this has too many implicit assumptions, like there only being one app in a module.
Detect spec by given gem name

Also, make all require_paths potential app locations. While this strictly includes 'lib', this means
that multiple apps can be packaged in a gem in a sane way.
Remove `gem` command, replace it by an option

This allows the project generator to generate a gemspec fitting the project add some files to assist
in gem development.
Make a better guess on where the app might be in a gem

This avoids accidentally finding the wrong app that comes earlier in the require-path.
Remove last traces of the `gem` command
Implement access author name and email for gemspec
Add tests for generated gems, fix a found bug
Add some explaining text to the gem readme