Add `contains` to Plan and use it in Engine.
Add `parse_args` to Command.

Takes a list of arguments and returns a hash identifying which are changes,
which are targets, and which are unknown. Will be used by commands to
distinguish changes, targets, etc, while preserving order.