Refactor deconstruction quasiquotes into unapply macros

This lets quasiquotes not to generate any junk matcher classes.