Actions CLI - tracer implementation

Just connects the command line 'actions' and 'do' to the apiserver; basic initial CLI implementation
This is definitely not right.

 1. That's not a bulk request.
 2. Async cannot be an API param: it's *always* async, it will (should) always return the action's tag and UUID, and an async invocation can just return (and tell the user the UUID) while a sync one sets up a watch on the tag.
 3. Don't use unit names over the API -- always use tags to refer to entities that exist.
 4. Because it'll be a tag (most likely called Target), you can pass either a unit or a service and the backend can DTRT because it'll know the type.
 5. What is a "Do"? Params structs really need to be nouns, not verbs: naming them after some related verb ends up really confusing, because those structs often end up more widely applicable than you'd think.