CrowdmapID configuration parameters. Closes #26

* Parameters to specify the following:
	- default authentication scheme; database or crowdmapid
	- CrowmapID server URL; default is https://crowdmapid.com
	- api key; used to authenticate requests
	- api key parameter name; Name of the parameter used to specify
		the api key
Authenticate via CrowdmapID. Closes #23

* Apache HTTP Client library to handle http requests to the
CrowdmapID server

* Send a "POST signin/" request to the CrowdmapID server

* Method stubs for interacting with the rest of the API
Switch authentication schemes

* Use the name of the authentication scheme; configured via JNDI
to determine the com.ushahidi.swiftriver.core.api.auth.AuthenticationScheme
to use

* Tests to validate changes to the security-context.xml Spring
bean configuration file
Hold off security integration tests

* The spring security integration tests need to be
reworked
Implement CrowdmapID changepassword

* Sends a POST changepassword to the CrowdmapID
server. Closes #22

* Renamed CrowdmapIDApiRequest to CrowdmapIDRequestType
Use HttpResponse to capture server response

* HttpResponse allows us to capture the status code returned
by the server.

* Read the InputStream with the (JSON) response body into a String
before deserializing it into a java.util.Map
Fix failing tests

* Set the URL for spring-maven-milestone to http://repo.springsource.org/milestone
http://repo.springsource.org/libs-milestone is returning an 500 status
Refactoring AccountDao#findByUsername

* Renamed AccountDao#findByUsername to AccountDao#findByUsernameOrEmail
and updated the DAO implementation to match the method mnemonics
Users can now ogin using their email address or username.
Fix HTTP POST parameters

* Use a java.util.List of NameValuePair objects to specifiy
the API request parameters

* UTF-8 encoding of the parameters before submitting them to the API
Use the username as the principal

* Using the user's display name as the principal is
inappropriate; the principal ought to be unique for each user

* Populate the return authentication object with additional information
about the authentication request
Register users via CrowdmapID. Closes #21

* Before registering a user, CrowdmapIDClient#isRegistered
should be invoked in order to ascertain whether the user's
email address is already registered on the CrowdmapID server
Create authenticationScheme bean in root-context.xml
Set User#dateCreated

* Set the creation date before saving a new User
entity to the database
accounts/activate for account activation

* Added a new endpoint handle account activation requests
Password reset

* Added a new endpoint "/reset_password" for handling
password reset operations
Remove GetAccountDTO#token

* When a new account is created, send the activation
information via email; do not return the token in the response
body
Implement CrowdmapID requestpassword

* Added /forgot_password endpoint for servicing "forgot password" requests

* Email integration for purposes of sending account activation and password
reset emails to users

* Velocity templates for the emails. These are empty files for now

* Closes #24
Account activation email template

* Implemented the email template for activating newly created
accounts.

* Use URIBuilder to build the URL which the recipient of the email
shall be asked to click
Password reset email template
%token% placeholder in CrowdmapID mail body

* Added missing %token% placeholder to the email body for
CrowdmapID password reset requests. CrowdmapID replaces
this placeholder with the password reset token.

* Removed the email template for CrowdmapID password reset
requests