Fix AbstractController.removeMember when hostname null

- If member has unset hostname or port (e.g. done in 
  SoftwareProcess.stop) then use the recorded address for that 
  member when deciding what to remove. Currently, can fail to 
  infer the same ip:port so doesn't remove the member's address.
Merge pull request #597 from aledsage/fix/AbstractController-removeMember

Fix AbstractController.removeMember when hostname null