Rails 4 support

### Main Changes:###
* Updates test suite for Rails 4.0 and 4.1
* Adds route compatibility for Rails 4
* Adds gemfiles for Rails 4.0, 4.1
* Updates analyzer (tests pass, no more no method `shift' error): closes #174 and closes #185, should also fix #193
* Remove deprecated link_to_function and button_to_function from from development support
* Removes deprecated `unloadable` method
* Strong Parameters support: closes #184
* Removes deprecated `scoped` method in favor of `all`, `where(nil)`, and finder methods such as `joins`
* Handles eager loading in Rails 4 with `references` method
* Add Minitest aliases for forward compatibility with Rails > 4.1 test suite

### Todo / Issues ###
* Polymorphic associations don't quite work in if_attribute
* #193 probably not truly fixed after all
* Nested resources have broken create action

### All tests passing on:###
* Rails 2.3.18 (Ruby 1.8.7-p374) :white_check_mark:
* Rails 3.0.20 (Ruby 1.9.3-p484) :white_check_mark:
* Rails 3.1.12 (Ruby 1.9.3-p484) :white_check_mark:
* Rails 3.2.16 (Ruby 1.9.3-p484) :white_check_mark:
* Rails 4.0.2 (Ruby 2.1.2) :white_check_mark:
* Rails 4.1.4 (Ruby 2.1.2) :white_check_mark:

For strong_parameters, I added a `:strong_parameters` option to `filter_resource_access` that accepts a boolean.  It defaults to try on rails > 4 and false on rails < 4.  When `:strong_parameters` is enabled, declarative_authorization __will not__ create a new object or set an instance variable for the `create` action because strong_parameters's use of a private method to sanitize parameters expects that the object will be created in the original controller.  This patch will, however, create an empty object for the instance variable of `new` actions.

You can see in the commit history that I initially used @gordonbisnor's fix which involved simply permitting all parameters for all `filter_resource_access` controllers.  It was clean and it worked, but I ended up deciding that this was a too large a vulnerability and removed the fix.  The best way to handle strong_parameters and in RESTful controllers with declarative_authorization is to simply use the Rails default method, which looks something like this:

```ruby
def create
    @person = Person.new(person_params)
    respond_to do |format|
        if @person.save
            format.html { redirect_to @post, notice: 'Person was successfully created.' }
            format.json { render :show, status: :created, location: @person }
        else
            format.html { render :new }
            format.json { render json: @person.errors, status: :unprocessable_entity }
        end
    end
end

private
def person_params
    params.require(:person).permit(:name, :age)
end
```

:exclamation:__IMPORTANT NOTE__:exclamation:
After switching rubies with RVM, Rails 4.1 returns 3 failures: `HelperTest#test_has_role_with_guest_user`, `AuthorizationTest#test_default_role`, and `AuthorizationTest#test_guest_user`.  Raking a second time (no changes) returns only one failure: `HelperTest#test_has_role_with_guest_user`.  After that, all tests pass, then it alternates between that one failure and all passing.  Does anyone know what might be causing this?  I'm marking Rails 4.1.4 as passing since my best guess is that it's a problem with the test suite.

I also recommend a version bump, possibly to 0.6.0?