elazarg's refactoring - slightly more complicated changes + added unit tests

this PR includes the changes in #185 and adds some more changes:

refactoring from @elazarg:
change % operator to str.format - (% operator for string format is deprecated)
change dict to {}
remove use of global
change attribute that does a query to a property - so the query will be done only when the property is needed
prevent code duplication

added tests:
added some tests to test elazar's refactoring
also added tests for V2 apis - specificly for commitees but it tests BaseResource which is used by most other resources