Add the definition filename/line to each function

Also defines a boolean key called "internal" to easily check internal vs
userland and therefore easily handle lack of filename/line keys.

The intention is to allow reporting tools (e.g. xhgui) to show/link to
original source code (or say, source on github)

An option would be to pull in the line_start *and* line_end to allow
easier extraction of just the function from source files.

(Also includes the change in #30 as I ran into issues debugging without that)