Fixes and tests and some API changes.

Fixed the dummy app to be runnable, so you can just run `rails s` from spec/dummy. Was some middleware ordering issue.

The `GrapeSwaggerRails.options` being a Struct means you are declaring the order of parameters, not some hash. Let me demonstrate.

``` ruby
2.0.0-p353 :001 > class Options < Struct.new(:url, :api_key_name, :api_key_type, :api_auth, :headers, :app_name, :app_url, :authentication_proc); end

2.0.0-p353 :017 > Options.new(url: 'foo', api_key_name: 'bar')
 => #<struct Options url={:url=>"foo", :api_key_name=>"bar"}, api_key_name=nil, api_key_type=nil, api_auth=nil, headers=nil, app_name=nil, app_url=nil, authentication_proc=nil> 
```

Ouch, everything in the first argument became the value for `url`.

This caused a puzzling `headers` value which was set to `nil`. Not that it mattered, I think headers never actually did anything because Swagger-UI doesn't support that in the way it was implemented. The right way is to call `window.authorizations.add`, which seems counter-intuitive (opened https://github.com/wordnik/swagger-ui/issues/561). I have fixed the implementation for setting custom headers and added tests.

The `authenticate_with` block returning `false` as documented has no effect in Rails. The docs should have said to redirect or something like that, however more generically this is not just about authorization, but more about running something before the page renders. I renamed `authenticate_with` to `before_filter`, however I am open to preserving a backward compatible name if needed, LMK. I think it's more misleading than anything. Now with tests ;)

I've added tests for all the remaining documented functions in the README. LMK if I missed something.