Proxy: Tests for accessing links

Unlike the old restnavigator model, we only have Proxy objects for
resources which we know actually exist on the server. For links, they
are created lazily - an attempt to acecss a link causes a request to be
sent to the server, and if the resource exists, a new Proxy object is
created containing the data. If the resource does *not* exist (that is,
a status code of 404 is returned), then the attribute is simply None.

Currently, there is no caching performed, so attempting to access the
same link repeatedly will cause a new HTTP request each time. This will
be fixed in the near future, with the relevant timeout/refresh logic
coming afterwards.