Catch issues with bad MMSC URIs, add validation

Bad arguments into HttpClient constructors are caught and wrapped in an IOException, preventing crashes. Also added validators to the manual MMS preferences to stop these kinds of issues from coming up in the future.