Galaxy tool client bug fix and enhancements.

Running tools besides upload1 didn't work because files weren't attached and so mimetype handling was off. See comments in changeset for details. This commit adds a helper method to the tools client to handle this transparently for layers above it - update upload_file and run_tool to use this.

Add some very rudimentary tests for the tools client.