use plain sql as much as possible
add cleanup task to remove data that has become invalid

So far this covers participations with non existing group or user references
as well as federatings.
validate the presence of the records in associations
allow participations without a page

looks like they temporarily exist during the page creation process
move asset search test into asset test

Also call test in asset_page_test.rb AssetPageTest
use inverse of so build can assign parent

For user participations and group participations we validate the presence of page.
This only works as long as the page is set during the build. This works nicely when
we specify inverse_of.
validation should also pass with new records now

We use inverse_of so the parent association on user_participations is set
even before saving it the first time
Merge pull request #65 from Crabgrass/bugfix/4294-fix-migration-20100603010101

Bugfix/4294 fix migration 20100603010101