machine: Ensure that the local IP address is global unicast

Advertising that address doesn't do much good if it isn't routable.
machine: testing of getLocalIP
Merge pull request #861 from bcwaldon/localip

Ensure that the local IP address is global unicast
agent: log task chain properly
Merge pull request #864 from bcwaldon/log-tc

agent: log task chain properly
job: update X-Fleet syntax

summary:
	X-Conflicts => Conflicts
	X-ConditionMachineOf => MachineOf
	X-ConditionMachineID => MachineID
	X-ConditionMachineMetadata => MachineMetadata

The metadata (as returned by job.RequiredTargetMetadata) changes from a
map[string][]string to map[string]pkg.Set, since really the order of the
values for a particular key are unimportant. This necessitates changes
in machine.HasMetadata.

Test coverage is cleaned up and improved across the board.
fleetctl: rename TMACHINE to TARGET
Merge pull request #868 from bcwaldon/rename-tmachine

fleetctl: rename TMACHINE to TARGET
docs: update documentation to reflect prefix removal
Merge pull request #621 from jonboulle/621_remove_x_prefix

deprecate `X-` for options in `X-Fleet` section
engine: consider metadata when adding global unit to agents
Merge pull request #863 from jonboulle/glob

engine: consider metadata when adding global unit to agents
api: check unit name on set operations
Merge pull request #869 from jonboulle/862_valid_names

api: check unit name on set operations
log: add EnableTimestamps
fleetctl: enable timestamp logging

Fix #847
log: manually construct header