Direct-load Instance.fault when lazy-loading

This breaks out instance.fault lazy-loading from the other attributes,
since we have a direct and more efficient way of fetching the fault than
re-querying the entire instance with the fault attached.

This also should help address fault-related races in the API where a
list of instances is queried, one of those is deleted, and the fault
attribute later triggers an InstanceNotFound whilst trying to do the
lazy-load.

Change-Id: Iceb552663db93fa2a01fb90ece0c1eebecdb783f
Closes-bug: #1352659
Merge "Direct-load Instance.fault when lazy-loading"