Refactor some methods to properties and handle defaults

* Some methods have been transform to properties like default_framework and
  is_installed
* Modify tests to respect the above and add some
* Ensure we can't load multiple default_framework in a category
* Ensure we can't load a default_framework in main category
* Ensure that all test and production frameworks follow setup() signature
* Test default_framework above cases and add some tests bet for it