Added support for attaching pools from a file/stdin.

- Added the --file option to the attach command. If a file is
  provided, pools will be read from the file. If the file is
  given as a single hyphen, pools will be read from stdin.

While it's possible to have done a single dash at the end of the command, it'd have required refactoring how the input validation is performed. Currently, CLICommand checks if there is anything left on the command line after parsing options via optparse. If so, it throws an error. One method to "fix" this would be to move that to its _validate_options(), then call the validation method in place of the hard-coded "fail everything" block. This way, subclasses of the CLICommand could override/precede the check and use leftovers without throwing errors.
Did you investigate doing this with the patching tools mock provides? Manual monkey patching makes me a little nervous.