initial cut at collection model changes
fixing obv bugs in collection model; switches to habtm for collection membership; pulls membership assertions out of descMetadata (not yet tested, squash this commit later ;))
collection specs fleshed out and passing