feature (commands): dynamically build command list

Previously the command list was hard coded in commands/index.js. Now the
command list is built by listing scripts in the commands directory.