MIRTH-3047: Fixed deserialization errors occurring in the client when loading message map content. If an object is placed into a variable map during message processing, and that object's class is not available when the map is deserialized (like it might be when the client retrieves it), the original serialized XML node for that map value is wrapped in a new InvalidMapValue object. During serialization, any instances of InvalidMapValue are replaced with the original XML that it was created with. In this way, the InvalidMapValue class is never actually exposed to the user or persisted to the database; it's only used as an "in-between" to handle exception cases, similar to InvalidChannel.
MIRTH-3041
MIRTH-3062
We are now setting dataTimeout on the FTP client object to prevent the reads from blocking indefinitely. However it is still possible to block indefinitely if the timeout is set to 0.
File Receiver and File Dispatcher are now haltable. They now call the new disconnect method on FileConnector which calls the new disconnect methods on each FileSystemConnection that is open when a halt is requested.
So far the only FileSystemConnection that has implemented disconnect is FTPConnection. If we detect potential blocks for the other types then we can implement disconect for them.
Created HaltableFTPClient which extends FTPClient and stores references to each data socket created so they can be forcibly closed on halt. Previously socket reads on the FTP receiver or dispatcher could have hung the channel and prevented it from being stopped or halted. Socket writes from the dispatcher can also block if the FTP server's socket buffer is full. This is the expected behavior, but even so it may be desirable to halt the channel if this ever occurs.

MIRTH-3063
Fixed FileDispatcher not closing its connections on stop or undeploy (or like... ever)

MIRTH-3065
Halt threads (Not to be confused with Halt Task threads) can now be interrupted. 
Synchronization that was done in Poll Connector now uses ReentrantLock so a lock operation can be interrupted.

Update commons-net from 3.0.1 to 3.3 for good measure