Implemented BIP 0014 format for user agent

the new function AddUserAgent adds a user agent to the default
user agent and formats them, along with comments as per BIP 0014
e.g: "/myclient:1.2.3(optional; comments)/btcwire:0.1.4/"

the validation on UserAgent has been moved to a new function
validateUserAgent