Minor refactoring, updates to latest Julia changes

* Removed optional eval => significant speedup
* Separated guard, value assignments during unapply
* Added types to MatchExprInfo struct
* Updated getvars() to optionally get all vars, even in
  function calls

TODO: check guard assignments for || expressions