Refactored check model

Initial support for a wider range of check types:

* Passive vs Active checks
* Virtual checks
* Clusters
* Cluster resources
Refactor check states