Composite pattern for error data structures
Hide internal error datastructure httpError

This currently only allows to add one level
of errors to the error struct
Remove error count
Add custom api error as public method

This allows further specification of
errors as described in http://jsonapi.org/format/#errors
Replaced uint64 with uint
Use string as ID to allow all kind of IDs

MongoDB uses non numerical object ids for example
Label struct params in order to remove empty init
More information in documentation
Api2go errors now jsonapi.org compatible

- Both HTTPError and Error are now public
- Errors in HTTPError is now a map since jsonapi.org specifies
the use of a collection
- HTTPError got a public Error property. This has two advantages,
first it allows implicit json marshalling, and second it removes
the necessity for an Add* method
Include more information in fmt.Stringer
Correct output for jsonapi errors

Instead of using a hash map the return value now uses
a collection.
Add error marshalling for different error cases

- default error type now marshals correct json as well
- httpError with no child errors returns default content
Merge pull request #50 from univedo/simple_error_handling

RFC: Composite pattern for error data structures