Fix CustomNginx creating interoute-sub-location

- Use createLocation(LocationSpec) rather than direct constructor
- Fix obtain(), to correctly use the flags parameter
- Use the external IP for the returned `SshMachineLocation` when
  a second mic is being added.
- Throw exception, instead of just logging, if can't find machine
  with the expected name.
  (I didn't encounter this; it just looked wrong to return even if the
  second nic was not added).