Fix for issue where msgpack errors cause modules to be deleted

Right now if there is a deserialization error in msgpack (payload.py) it swallows the exception and returns a dict, this is confusing to the caller since they have no idea that this was an error condition-- which means that the call is indistinguishable from an actual empty dict response. This is manifest mostly in syn
cing files-- because when there is an unpack error the minion assumes that meant
 there where no files on the master, and then just deletes all of its files.

While fixing that I also noticed that the fileclient treats master timeouts the same way (return '', meaning no files). These both seem like bad ideas, in the event a master is unavailable we should error out and just keep the modules that we have.
Remove unused serial object
Add force option to lock()
Remove unused import
Fix typo
Merge pull request #17046 from jacksontj/develop

Fix for issue where master comm errors cause minions to delete all modules