Reduce method visibility where possible

Many methods that were marked as `protected` didn't actually need to be so.
This commit reduces the visibility level of these methods to `private` as
possible.
Adds convenience method for creating anonymous classes.

This adds a convenience method which creates an anonymous
subclass of the ParamsAction fixture class.  This keeps us from
polluting the parent class during tests.
Adds the ability to specify a class which defines the params.

This allows a caller to specify a specific class which which will
be handed the responsibility of processing the arguments which will
ultimately be passed to #call.

This begins to implement the "A" solution as laid out in issue #22.
Adds param whitelisting to Lotus::Action::Params.

Begin implementing the "A" proposal for implementing paramater
validation as laid on in issue #22.  This adds the param class
method which allows specific params to be whitelisted.
Defers call to symbolize!

Rewrite #_whitelist so it does not depend on the keys in the params
being symbols.  This was done in response to code review.
Adds the 'Validatable' module.

Moves code out of Lotus::Action into a mixin.
Fixes formatting.
Fix grammar errors
Merge pull request #32 from Foxandxss/patch-1

Fix grammar errors
Removes empty else block.
Fix: the right status code here is `400`
Merge pull request #28 from arthurgeek/patch-2

Fix: the right status code here is `400`
Responds to code review feedback.
Fix non-functioning Rack API reference

The existing link was 404ing. This replaces that link with (presumably) an identical alternative.
Merge pull request #34 from robyurkowski/patch-1

Fix non-functioning Rack API reference
Merge branch 'protected-methods' of https://github.com/fuadsaud/controller into fuadsaud-protected-methods
Merge branch 'fuadsaud-protected-methods'
Ensure the right level of visibility for Action's methods. Ref #16
Merge branch 'param_whitelisting' of https://github.com/mjbellantoni/controller into mjbellantoni-param_whitelisting
Merge branch 'mjbellantoni-param_whitelisting'