MmsCommunication refactor

Introduce MmsConnection class to handle incoming and outgoing network transactions, behaving as a simple abstraction layer over URLConnection objects.

Also another small change for general safety: in retry logic, check protocol before following links and prohibit https->http redirects.

Cuts down on redundant code and reduces a bit of confusion, keeping a majority of the static MMS-related methods to fewer classes.
indentation, and put the whole thing in try catch instead of breaking up declaration and assignment