Initial commit, add marshalling and something resembling rest

Tavern is a RESTfull toolkit wrapped around cowboy[1]

The main goal is to provide easy handling of different content
types through common a common marshalling structure. There is
aslo a API that can be hooked onto to control what content-types
to handle along with which HTTP verbs to expose and authorization
for those.

[1] -> github.com/extend/cowboy
Add a simple example for a k/v store
Rewrite resource example to a simpler form
Add rebar config to example
Add a custom 404 catch all to resource example
Avoid creating new fun for every item in req init
Remove debug code and improve code estethic
Remove code/4 infavour of fun's calling code/3 themselfs
Add a working return code to resource 404 handler
Fix proper XML marshalling using xmerl

 + Add support for multilevel
 + Add support for float
 + Add support for common elements
 + Add test for all of the above

The serialization requires mochinum, which is fine since we are already
dependant on mochijson2 for json serialization.
Fix rebar.config's for correct dependencies

 + Add mochiweb as requirement for marshalling
 + Add cowboy as dependency
 + Remove all but tavern in rw_resource example dependencies
Move type definitions to include/types.hrl

Updates tree() type
Specs and types for marshalling
Cleanup exception handling and validation calls

Validation calls is the responsibility of tavern_req, therefor
tavern_http should call tavern_req:validate_req/2 instead of
tavern_req:call/3.

Additionally there is no need for individual exception handling as it
did not cover functions where pattern matching was used (handle_resp/4).
Do not marshall empty results
Fix return for default OPTIONS handler
Fix handlers and return value of rw_resource example
Remove unused variables
Code cleanup, specs and such

 + Add specs to all methods
 + Make dialyzer run without errors
 + Remove unused functions
 + Move all types into right place (mostly tavern_http:*)
Make request handler emulate webmachine/cowboy defaults