This commit is excessively large, sorry.

A variety of features designed to support Alex Stapleton's attempts
to get nice testmachine tests for python cryptograph. Includes:

  1. Custom formatters for generated values
  2. Allowing multiple patterns to be provided for operations and checks
     so as to allow multi-line compilation (this wasn't needed in the end
     but is still useful)
  3. Multiple return values for targets
  4. values are no longer duppable by default, but are also no longer popped
     as part of normal operations
  5. Argspecs can declare that they consume their input, meaning that they
     pop it from the stack. TODO: Make this interact correctly with dup.