Update the ActiveRecord backend to not save entries for records that aren't saved yet.

 - If a state machine has :action => nil on it, the saving of the record
   and the changing of its state are decoupled. This means that the
state can be changed and state machine callbacks can be called on a new
record without an ID yet. That means its unsafe to try to create
associated records until the record is saved. The state machine
callbacks also get called when the record is saved even with action =>
nil, so don't attach the state machine transition callback for
after_create if the action is nil, cause otherwise we'd get duplicate
records.
Merge pull request #17 from wvanbergen/deal_with_action_nil

Update the ActiveRecord backend to not save entries for records that aren't yet saved