refactor common logic out of XForm.get_questions()
changes to WrappedNode

1. Instead of having all wrapped methods be defined in __getattr__,
define them explicitly.  This is a little less perfectly abstracted, but
a little easier to read at a glance (IMO) and, the reason I thought it
was worth doing, probably a decent performance gain when walking a very
large form.

2. Wrap WrappedNode.attribs in a WrappedAttribs class that handles the
same namespaces that are handled for tag names.
Merge pull request #1921 from dimagi/get-questions-refactor

(goes after #1917) refactor XForm.get_questions() and other prep for case property reference parsing