Offline Guides - Only deserialize guides if we need to

We used to store offline guides as dictionaries, but now we store them as a
string and deserialize them, this is to get around the issue of not being able
to write a dictionary to disk if it contains NSNull.