Add spec on Marshal.load with Time and object links.
Fix link offset when marshaling Time.

We must store the created time object before constructing attached
strings from instance variables. Otherwise the link offsets are stored
wrong: when demarshaling problems occur, like loading the timezone
string instead of the Time object containing it.
Merge pull request #2694 from razielgn/marshal-load-links

Fix link offset when marshaling Time.