Adding an option to queue state commands instead of failing immediately

This pull request adds a feature to state commands. Currently any state command will fail if any other state command is already running. Now there is an option to add ```queue=True``` and the second state will wait for the first state instead of failing immediately.

This pull request came out of [this discussion on the mailing list](https://groups.google.com/forum/#!topic/salt-users/hXMtNLP6jwA)

The order the states are run in is determined by the jid. This could *potentially* cause issues if there are state commands coming down from multiple masters whose clocks are not synced.