implemented error reporting as discussed in issue #11

post() returns an error now. The returned errors use exported types
to enable type-switching over them.
The errors are pushed to queueErrors (chan error) which can be
obtained (read only) via SendErrors().
If queueErrors buffer is full it drops the oldest remaining error and therefore accomodates the newest one.

Added a unit test, to verify basic functionality works as expected.