Changed the way client id and secret are read.
Add remaining fields from client id.
Parse contacts json by implementing UnmarshalJSON on types.

I think this method can be made even prettier but I mainly focused on
moving the existing code to UnmarshalJSON. At least the code that uses
the data is pretty now!
Merge pull request #4 from rce/json-decoding

Json decoding