Use OrderedHash for commands
Protect against Ruby Hash regression
Add select! to OrderedHash and HashWithIndifferentAccess to support Ruby 1.8.7