move InferRemoteUnit inside runner factory, integration tests passing, unit tests broken
fix operation tests
fix uniter/runner tests/code
Merge pull request #1283 from fwereade/runner-infer-remote-unit

move InferRemoteUnit inside runner.Factory

This is a step towards fixing the juju-run data race; by waiting until we're inside the RunCommands operation before checking args against current state, we are (1) more likely to be checking against current reality and (2) will soon be able to eliminate the race (once we've moved the relationer changes inside their own operations, and ensured that the operations themselves are serialized).

(Review request: http://reviews.vapour.ws/r/598/)