Protection against parent state not existing

When calling the StateBuilder.childOf(...) method, if the specified
parent state does not exist yet in the state machine, a
NullPointerException will be thrown.  This change protects against the
null pointer and throws a more specific StateMachineException instead
which describes the problem and how to fix it.
Merge pull request #27 from bnormsoftware/null_parent

Protection against parent state not existing