Test calling setup() on frameworks change config

* Calling setup() with a specific path save that specific pathin config,
  overriding previous install path. Add a test for it.
* Calling setup() without a specific path use the Framework install_path.
  Add a test for it.
* Change when there is no or invalid config to return an empty dict instead of
  None. Change tests for that as well.