Adds a hasBeenFetched property to resources and collections

This property will be useful to check if something has ever been fetched, regardless of whether it is expired right now.

It is intended to replace checks that poke at the actual data to determine if something has been fetched and is ready for use, while side-stepping the transient nature of isFetched.

CC: @jish
This is the intended use of `getPath`, we should probably followup with a pass to move all uses of `getPath` to `get`.