Adds support for `policy_class` model instance/class for custom Policy
Improvements on `.policy_class` support

The `BlogPolicy -> "BlogPolicy" -> "Blog" -> "BlogPolicy" -> BlogPolicy`
issue @jnicklas pointed out has been resolved. For example, given

```ruby
class BlogPolicy < Struct.new(:user, :blog); end
class Blog; end
class ArtificialBlog < Blog
  def self.policy_class
    BlogPolicy
  end
end
```

The above string manipulation/casting is prevented; the `BlogPolicy`
class will be immediately returned to `policy` and on to be evaluated.

Anonymous classes are now supported too. For example, given

```ruby
class BlogPolicy < Struct.new(:user, :blog); end
class Blog; end
class ArtificialBlog < Blog
  def self.policy_class
    Struct.new(:user, :blog) do
      def create?
        true
      end
    end
  end
end
```

The `Struct` will be returned and evaluated as any other policy.
Fixing TypeError trying to call ::Scope on nil
Merge branch 'feature/policy-class-method' of git://github.com/deefour/pundit into deefour-feature/policy-class-method
Refactor
Make a note of manual policy class specification
tagged 0.2.0
Supports Rails 4
Merge pull request #9 from alindeman/master

Supports Rails 4
Allows Scopes to receive additional arguments
Refactoring based on suggestions
Adds support for additional arguments for controller helpers

The policy and policy_scope helpers can now be passed additional
arguments to be forwarded onto the Policy or Scope instance.
Merge remote-tracking branch 'deefour/feature/arbitrary-scope-args'

Conflicts:
	lib/pundit/policy_finder.rb
	spec/pundit_spec.rb
fix syntax error introduced during merge conflict resolution
get tests working again after attempting to resolve merge conflict

now needs refactoring!!!