Do not get into a 500 state when a bad app registers

Previously, the DataCenterInfo was not effectively "validated" until read time,
which meant that a malicious (or simply badly coded) app could take the Eureka
cluster offline by specifying a dataCenterName that wasn't one of Amazon,
MyOwn, or Netflix.  Move the validation code to write time by doing the
conversion to DataCenterInfo.Name as part of the deserialization process.
Merge pull request #108 from bpollack/baddatacenter

Do not get into a 500 state when a bad app registers
Fix DefaultEurekaClientConfig units

EurekaServiceUrlPollInterval is named
getEurekaServiceUrlPollIntervalSeconds in EurekaClientConfig interface
but serviceUrlPollIntervalMs in config files. Its default looks
suspiciously like it shouldn't be multiplied by 1000. This config is
actually used as seconds. Changed to convert the config
serviceUrlPollIntervalMs to into seconds.

EurekaServerReadTimeoutSeconds and EurekaServerConnectTimeoutSeconds
were both being contributed as millseconds and used as milliseconds.
Changed to seconds in config files and use of the config changed to use
seconds.