Fix #20

To get this to compile cleanly on latest master:

- ReqParseError now derives copy to silence a compiler error.
- All comparison functions on predicate now borrow self.
  This was causing errors in the matches() method where self was being moved out while it was borrowed.
- LexState now derives copy because it is moved out of its Lexer in the next! macro (line 523).
- When building a Predicate, a PredBuilder's op is now cloned.