fix issue with default blank tags

noticed that if you don't send tags the client will generate an empty string and send that message without tags to the server.  the server will respond with:

put: illegal argument: not enough arguments (need least 4, got 3)

so i removed the default [] for tags and rescue KeyError and raise ArgumentError in the Client#put method for any missing keys.

tests included.