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