Refactoring Service classes

Introduced ServiceHelper class and ApiDefintion class to provide helper
methods for  submitting  API requests.
1. ApiDefinition class provides the means to specify the API request
parameters using typical for Mambu request types (get entity details,
get list of entities, post an operation for an entity, etc.)
2. ServiceHelper class uses provided ApiDefinition to build the url,
execute request and parse the response.
3. Service classes (e.g., LoansServices, ClientService, etc.) can now
specify the ApiDefinitions for their APIs and use ServiceHelper to
execute the request instead of building each request from scratch.

**  For now only LoansService and ClientService were modified to
demonstrate this approach. Once everything is confirmed and finalized
then the other Services can be updated accordingly.

Other changes:
ClientService: removed obsolete, non json methods to create basic
client with just first/last name and some personal details. New Json
create can be used instead.
Merge https://github.com/mambu-gmbh/Mambu-APIs-Java
Refactored remaining Services. Added 3.7 APIs

1. Updated code based on the refactoring check in review comments
Main changes include:
- Added ApiType constructors
- Changed account specific ApiTypes into generic ones
- Renamed: operation -> action
- ServicesHelper changes:
  Replaced Object with generic types.  This eliminates the need for
casting as well as for Suppressing warnings in Service classes
Implemented other suggestions: static map replaces ‘if’ statements for
type collections

2. Refactored all Services to use ApiDefintion and ServiceHelper
3. Fixed test cases as needed
4. Added DemoTestIntelligenceService

5. Implemented wrappers for Mambu 3.7 API additions:
5.1. Updated Maven’s pom to build Mambu-APIs-Java-3.7-bin.jar using
mambu-models-V3.7.jar
5.2 MBU-4607 - As a Developer, I'd like to work with Custom Views
a) added getting Custom Views API wrapper
b) added filtering Clients/Groups/Loans/Savings by custom view ID
5.3  MBU-5946 - As a Developer, I'd like to filter lists on centres via
API
Updated wrappers to filter by centreId for Clients/Groups/Loans/Savings
Services
Merge https://github.com/mambu-gmbh/Mambu-APIs-Java
Merge branch 'ISSUE#30' of https://github.com/mambu-gmbh/Mambu-APIs-Java
Refactoring and 3.7 APIs additions

1. Refactoring updates
1.1. Addressed review comments (renamed “action” to ‘relatedEntity”.
Added more comments)
1.2. Added new ApiType.GET_RELATED_ENTITIES to support APIs in the
forms similar to loans/transactions, savings/transactions (e.g. custom
views API) (vs. the GET_OWNED_ENTITIES for specific entities, e.g.
loans/ID/transactions)

2. Added more Mambu 3.7 APIs
2.1 Added GET Entities by custom Views for transactions (Loans and
Savings) and activities
See MBU-6113
2.2 Implemented GET Transaction Channels API (OrganizationService)
See MBU-5068.
2.3 Added Pagination for Repayments API
See MBU-6299
2.4. Tested search and filtering by Centre
See MBU-6120
2.5 Fixed affected test cases
Corrected DemoUitl.getDemoClient()

Corrected getting demo client by last and first names.
Merge pull request #29 from mdanilkis/master

Refactoring Service classes and adding new Mambu 3.7 APIs