Fixed validate stage to avoid decreasing performance under persistent requests

The fix ensures that the sub-stages are only set once, and do not keep appending for every request run

Fixes #25

Signed-off-by: Josep M. Blanquer <blanquer@rightscale.com>
Controller filters can shortcut request lifecycle by returning a Response:
  * If a before filter returns it, both the action and the after filters will be skipped (as well as any remaining before filters)
  * If an after filter returns it, any remaining after filters in the block will be skipped.
  * There is no way for the action result to skip the :after filters.

Closes #21
Signed-off-by: Josep M. Blanquer <blanquer@rightscale.com>
Initial prototype for around filters using blocks

* around DSL for controllers (supporting the same exact syntax than before/after) so they can be placed around any of the request lifecycle stages (load, validate, action, response)
* Built some silly “printing” examples for around filters in the instances controller.

No tests for any of this are built yet…need to agree on the approach first and perhaps benchmark it (as it requires creating procs on the fly…:( )

Signed-off-by: Josep M. Blanquer <blanquer@rightscale.com>
Remove ActiveSupport concerns in lieu of “self.included”

AS Concerns don’t work as we want it with inheritance (i.e. a controller inheriting from a class where the controller concern is already included, skips it).

Signed-off-by: Josep M. Blanquer <blanquer@rightscale.com>
Initial stab at around filters.

This does not have tests yet as we need to validate if this simple approach of using blocks is 1) good enough and 2) performant enough

Signed-off-by: Josep M. Blanquer <blanquer@rightscale.com>