New command factory.

 On branch functional_refactor

	modified:   enginemill.js
	new file:   lib/command_factory.js
	modified:   lib/commands_factory.js