Add refs for everything.

Also...

* Use typedef_menu, not type_menu, for typedefs.
* Look under the "typedef" key, not "typedefs".
* Change back to "definition" from "declaration". I'm not sure which is correct, and, until I am, there's no sense changing what the user has been seeing all this time.
Fix #include context menus. Add beginnings of menu tests.

* Add a "loc" field from the compiler plugin so the condenser can extract an Extent from it.
* Fix include_menu() to return a list of menu items and not do other nonsensical things.
* Factor up browse_url() (renamed for parity with the actual Flask browse view), which is now used twice. Again, we should replace all these *_url() routines with Flask's url_for when we get around to making a dummy app object or whatever.
At least return the right datatype from macro_menu.
No need to put an underscore after a seldom-used builtin. That's just for keywords.
Write test harness and tests for include, function, and variable contextual menus. More to come.