Rename target_argument_name to target_argument

This is a breaking change.

The idea here is to allow positional specification of the target
within the command, too.  This is needed for the next set of changes.
Hopefully that will see target_argument not really needed.
Support for parsing commands into targets
Allow specification of rule/depends/target_argument as "command"

See #6 for details.  Where before you could write

```
target:
  depends: [foo, bar]
  rule: func
```

an equivalent way now is

```
target:
  command: func(foo, bar)
```

which will work out what rule/depends/target_argument *would* have been.
Old functionality remains, at least for now.  It's needed for fake targets
and at the moment we convert from the `command:` form to the rule/depends
form.