Merge pull request #28 from mdanilkis/master

Updated to support Mambu 3.6

by mdanilkis:

Added new services to support new 3.6 APIs: 
1.1 MBU-5477 - As a Developer, I'd like to lock & unlock loans via API (LoanService) 
1.2 MBU-5476 - As a Developer, I'd like to apply arbitrary fees to deposit account via API (SavingsService) 
1.3 MBU-5084 - As a Developer, I'd like to get attachments via API The following services now support getting a list of attached documents: Clients, Groups, Loans and Savings DocumentsService now also supports retrieving a specific document by its ID. 
1.4 Updated Maven Pom file to use 3.6 model.jar and to build Mambu-Apis-Java-3.6-bin.jar

Note: 3.6-model.jar was built with Java 7. So Java 7 development
environment might be required to modify and build the latest wrappers
code.

Applicable Services and DemoTest programs were updated accordingly

Changes:
2.1 MBU-5278 - Update API calls are not individually mapped per each
component.
Modified Update APIs accordingly. The following 'entity update' services
now use encodedKey in APIs url:
Clients, Loans, Savings, Task
2.2 Removed wrappers for getting a List of Branches and Centres with
Full Details. For performance reasons using fullDetails parameter in
list APIs is strongly discouraged by Mambu

Miscellaneous Changes:
3.2 updated failing LoanTest to include new in 3.6 loan fields
Created the Mambu Models jar for V3.7
Merge branch 'master' of https://github.com/mambu-gmbh/Mambu-APIs-Java
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.