Added X-Wave-Response to response headers.

Allows for JS to decode if the response was sent as a wave formatted payload and destruct it accordingly
n00b mistake using `empty()` in validator

see: http://phpsadness.com/sad/28
Added in a error constant for the equals constraint
JSON responses can now be text/plain if the user agent requests it
Removed eval() from annotations parser.
Created new Http\Request object

Controllers now return a request object that is passed back to the invoking call, allowing several controllers to be called in a single request if necessary.
Added BadRequestException for sending HTTP 400
Refactored the allocation of arguments provided in the route to the request object
Refactored request/response flow to use ParameterBags

Implementation based heavily on the one from Symfony. Controllers now construct their own Response objects rather than being supplied one. The response method is now part of the Request as the `format` parameter
Removed default version number from Response
Updated RedirectResponse
Fixed missing argument to create a new Request
Removed checks for determining if response method is valid.

Now we accept any method and let the controller decide if it is valid or not.
Added ability to define custom class for base models to extend
Made the Request HeaderBag a public property
Included XMLResponse namespace in controller
Fixed config option for the default response format in exceptions
Added support for sub-requests in the controllers
Merge branch 'master' of git://github.com/wave-framework/wave into orm-updates