User can provide callbacks when state is entered or exited.

I wanted to be able to run a block whenever a state was entered or exited. So I added a couple of methods to the public interface:

  * Added `[LSMStateMachine entering:do:]` and `[LSMStateMachine exiting:do:]`. E.g.,

```Objective-C
              [sm entering:@"state" do:^(LSStateMachine *sm) {
                   // this code runs whenever @"state" is entered
              }] 

              [sm exiting:@"state" do:^(LSStateMachine *sm) {
                   // this code runs whenever @"state" is exited
              }]
```

  * Added tests
  * Updated Kiwi to version 1.1.1 (1.1.0 spec had a bug.  See: https://github.com/CocoaPods/Specs/pull/245)
  * Added examples to README.md

 
TODO:
----------
  * Submit StateMachine.podspec to Cocoapods repo.