Restructured to use a model observer, passing tests on 5.3

Restructured most of the trait to an independant model observer that makes
using this on 5.3 possible, with a little extra code.

Moved test models out to separate files so that they can be included as needed
(5.3 raises syntax errors if it finds a class with a use-trait).
Allow 5.3 in composer
Separated traits as required

Fixes #2

There are 3 new traits - CreatedBy, UpdatedBy and DeletedBy, that add the
default relationship accessor when used with the user class defined in the
configuration.

Blameable is sticking around as a way of interrogating whether a model is
blameable for an event (most of the time you don't need to add it).

It turns out that traits can't extend other traits - they have to inherit from
them (i.e. use ParentTrait). This causes probelsm when you want several traits
to inherit a method, and then use several of those traits in one class - the
methods inherited from the base trait clash against themselves! I'm developing
on 5.4 so this might have been fixed in 5.5...
Fix trait docblocks
Add missing file doc headers, remove @version tag as I'll never remember to update it
Update composer.lock to allow PHP 5.3.0
v0.3.0 - updated readme with new usage