CLOUDSTACK-505: Reworked approach to cleaning request / response strings

As noted in the bug, several of the API command in question
are async calls.  I've added a simple regex-based string cleaning
function, and have the request and response strings running through
it prior to being appended to the audit log.

Unit tests added for the new cleaning function as well.

The call to skip logging the createSSHKeyPair response remains intact
for now, although it should probably be scrubbed similarly to the
password fields.

Signed-off-by: Chip Childers <chip.childers@gmail.com>

Conflicts:
	utils/src/com/cloud/utils/StringUtils.java
CLOUDSTACK-505: Added string cleaning to the start and end debug
log statements within the API servlet.

Conflicts:
	server/src/com/cloud/api/ApiServlet.java
CLOUDSTACK-505: Converted regex expressions to pre-compiled Pattern objects

This was done for performance reasons.

I also refined the regex strings and added more test cases for different
string scenarios.

Signed-off-by: Chip Childers <chip.childers@gmail.com>
A few minor edits to the CHANGES file