Update clojure required version to 1.6.0.
Add valid-command?-fn and do-command-fn.

Change implementation of valid-transition?-fn to handle binding of input, transition function, and next state.