Run types

(1) save tree as ordered dict so that commits are a little cleaner
(2) allow users to add 'scripts', 'urls', 'models' into options
(3) allow users to add *languages* into options (e.g., 'nodejs')

note, options are *additive*, you'll end up getting the *union* of your choices. in other words:

```bash
python run.py process all new python nodejs
```

is the *same* as 

```bash
python run.py process all
```