Added default method for conditional transitions

A transition can now be disallowed from being a possible transition
when an event is triggered.  This method defaults to returning true so
no functionality changes when not specified.
Enhanced the base transition to optionally be conditional

The base implementation of a transition can now be conditional based on
a specified boolean supplier.  If not specified, the conditional will
always evaluate to true.
Enhanced the state builder to include conditional transitions

The final step to allow conditional transitions is to make the state
builder be able to create conditional transitions.
Enhanced the state machine to check for conditional transitions

The very last step is to actually use the conditional nature of each
transition to make sure they are allowed at the given moment of the
event firing.
Merge branch 'master' into conditional_transitions

Conflicts:
	src/main/java/com/bnorm/fsm4j/StateMachine.java
Merge pull request #15 from bnormsoftware/conditional_transitions

Conditional transitions