added code to properly update internal state if IP changes on cluster deploys
added methods to get public IP/FQDN when running in AWS, Euca, or GCE
added more logging when examining node list
defining data earlier, so that it stays in scope
added guard in case data received is nil
Merge pull request #794 from shatterednirvana/revive-appcontroller-if-ip-changes

AppController no longer crashes if local IP has changed since last execution
Merge pull request #811 from shatterednirvana/appcontroller-lives-if-apichecker-down

Validating that APIChecker data is a Hash before using it
Merge remote-tracking branch: upstream/master