Convert Locker to be instantiated.

As an instance, the Locker object is able to own the collection and its
poll duration configuration.  Calling code can then pass around the
Locker without receiving code being knowledgeable of the underlying
configuration.

Static methods in PHP are essentially just namespaced global methods -
there is very little different between Locker::readLock() and
Locker\readLock().  These methods are more difficult to use: they can't
be passed around easily, they require the shared parameters ($collection
and $pollDuration) in this case) to be kept and available for passing
everywhere the method needs to be called, and are more frustrating to
mock in tests if they can be mocked at all.
Convert $timeoutTimestamp to $timeoutDuration.

The timestamp value almost always is set as time() + duration, so
exposing it as a duration makes better sense.  Plus, this allows the
value to be given as configuration for the Locker without causing a
long-running Locker to eat into its timeout time (each call to lock
still has its own timeout).
Merge pull request #6 from nubs/master

Convert Locker to be instantiated.