add optional crashed state to the decorator

This adds an optional "crashed" state to the decorator.

When the calling function raises an Exception and the crashed
parameter is set in the decorator, the state will change to the
crashed state. If the crashed parameter is not set, then the
state is unchanged and stays at the source state, which is the
original behavior.

This commit is backwards compatible with django-fsm v2.0.1,
so all existing users of django-fsm do not have to rewrite their
code when this is cut into the next release.

See the tests for an example on how to use this new parameter.