Allow a workflow to be assigned an initial state different from the first defined state.

Background: Since states are ordered on Ruby 1.9 and above, it's useful to have the possibility to explicitly set the initial state to a state which is not defined first of all, for instance if you deal with outgoing payments with states like :invalid, :pending (initial), :held and :sent.
Merge branch 'refs/heads/explicit_initial_state'