Command Interface

This isn't ready for merge yet, PRing for code review/comments.
> im uncomfortable requiring the equals sign...

More thoughts on this? (beyond convention) are there concrete reasons it's better? (aesthetics can be a concrete reason :D)

> 1 is already how it works.

ok cool

> I don't really like 2 since `-key=val` is very close to `-key val` (which is interpreted as -k -e -y=val).

I don't think we should do this. this is sketchy to me and error prone.