client thread and background get/put

Client is now threaded with the ability to get/put files in the
background. Clients can also terminate commands.