global units: do some agent-level validation

When launching global units, the agent should perform a minimal amount of validation to ensure it can actually run the unit. This should probably be nothing more than checking for metadata requirements. Specifically, any other kind of scheduling requirements (like Peers or Conflicts) are NOT supported.

Related: #659 
Gorgeous test cases.