Created StateMachineFactory

The StateMachineFactory allows the creation of state machines to be
abstracted away.  This will help the builder classes move to another
package.
Create TransitionFactory

This is the other factory that needs to be created to move the builder
classes to another directory.  The transition factory will help
abstract the creation of transitions.
Converted builders to use new transition and state machine factories

The builders now use the new transition and state machine factories to
create transitions and state machines.  This abstracts the creation
call of transitions and state machines into the factories which have
public methods.  This will allow the builders to be moved into a
separate package.
Moved builder classes to a separate package

The builder classes, StateBuilder and StateMachineBuilder, are
technically not part of the state machine functionality, but rather
help build state machines.  This functionality should then be in a
separate package.
Merge branch 'master' into builder_package
Merge pull request #29 from bnormsoftware/builder_package

Builder package