Implemented random offset

This time object can be wrapped around other time objects and
randomizes their return value.
Improved random offset

Implemented setup by a given options object and added documentation
Fixed error object

Error name and stack trace didn't work as expected with node js. Fixed
that.
Implemented casting of duration to string