Initial structure view (no icons or pretty names)
Denote paths in AST and Psi

Add a node for "path" elements (complex IDs like "foo.bar") since they
should be treated as a unit in an number of contexts (our immediate
need is extracting the text of the whole path for the structure
view)

A side effect of this change is that it actually fixes an issue with
auto-insert of close tags (previously, {{#foo.bar}} would incorrectly
get a close tag of {{/foo}} inserted, rather than the desired
{{/foo.bar}})
Implement structure view names and icons

Associates a logical name with each node in the structure view tree,
and adds an initial set of icons (these still need a bit of work).

Also builds out the Psi tree a bit to support this, cleaning up some of
the existing classes and adding elements for Paths ("foo/bar/baz") and
Data ("@data").
Update structure view icons

Includes dark theme and retina icons
"Autoscroll from source" in structure view
Refactor file icon into HbIcons

The new HbIcons class should hold all our icons to get them in one
consistent place.  Move the file icon into there.
Update icon and name for {{else}} and {{^}}

Though semantically identical, it was confusing to render "{{^ else" in
the structure view for both "{{else}}" and "{{^}}".

Smarten things up a bit so that "{{else}}" is represented by icon "{{"
and name "else", and "{{^}}" is represented by icon "{{^" and no name.
Merge pull request #60 from dmarcotte/structure-view

Structure View for templates