Feature/shared 15

modified the gem so that it accepts an initializer and produces its own timestamp
Add a spec for when providing an invalid timestamp?