Detect references inside of vars created by defmacro

"Slamhound will only find references to vars in a namespace that are
consumed within the namespace itself."

A simple solution to this problem is to consume the macro from within
the namespace!

If we append (defn) forms that simply call the macro with all
declared arglists (quoted to protect against evaluation), slamhound's
exception-based approach to ns reconstruction still works for forms
declared within defmacro.

Addresses issue #19

NOTE:

    This branch conflicts with the improved-require-as-matching branch
    in the regrow_test file. The conflict is simple to resolve, but I
    can merge these two branches (or all the pull request branches) and
    present them as one if you like.