Fix NPEs by using fixEmptyAndTrim instead of fixEmpty().trim()
Encode empty password as null.
Reinstated timeout configuration support.

Restored a couple of patches which were lost after an earlier merge.
Timeout was originally merged in at commit 973453bf17c802deb3c31093fde9b6058160785f
Restored JazzConfiguration copy constructor from commit 7e1b287fe841a369ddec374d87212ce477d496a1
Restored (+ updated) JazzConfigurationTests.
Fixed bug where failed SCM polls caused builds to trigger.

If an SCM poll failed in compare(), the error was caught, and a fake changeset
returned to the caller.  This then triggered a build to happen because it thought a
change had been detected.  Reverted.
Restore fixes lost by a previous merge.

A number of fixes were applied by @deluan in commit
ba2282a01b61bb69084e553f50201cef2dc9f0ab but were subsequently lost
amongst the merges in pull request #7.
Merge pull request #12 from RoystonS/master

Restore lost functionality