Add HierarchicalStateMachine.

This pull request will add hierarchical state machine functionality by subclassing.
Currently, only String-based StateType is supported.
(using Enum + Associated Values is going to be a really tough one...)

For basic usage, please see [HierarchicalStateMachineTests.swift](https://github.com/ReactKit/SwiftState/blob/b55720c9868b40642da34705c63bbfd8c80596ad/SwiftStateTests/HierarchicalStateMachineTests.swift) for more info.

Related issue: #8