New behavior for fine grained control of what is purchasable.

We do a look up automatically for any purchasable model, that checks with the record has to be purchased.  And also whether the current user has purchased it.  This allows us for very fine grained access control based on money spent.