added generic relations to check results and states in MonitoringSourceBase, enabling cascaded deletes
simplified filter on State objects by using GenericRelation relations
CheckResult now have a foreign key to their corresponding State

This avoids expensive queries when updating states, check results are
simply filtered by state primary key. The downside is check results
history is lost as soon as a dynamic host disappears (i.e. hosts sinks
that return something in their MonitoringSourceBase.get_removed_hosts()
implementation).
cleanup cron job now only operates on State objects (since CheckResult are now linked to State), and only touches states coming from dynamic monitoring sources