fix a pyxl failure in python 2.7
fix a pyxl failure in python 2.7

Summary:
A previous revision added "&amp;" to an attribute on a Pyxl tag. In python 2.5, this worked fine, but in 2.7, this fails with the message:

    File "server/server/controllers/developers.py", line 26, in <module>
      from server.ui.web.developers.add_app import x_add_app
    File "server/server/ui/web/developers/add_app.py", line 2, in <module>
  NameError: name 'f' is not defined

It turns out that HTMLParser, which backs Pyxl, when parsing tag attributes, goes ahead and performs ref substitutions without asking (outside of attributes, a handler is invoked instead)--and, if any substitutions are performed, the attribute string is of type 'unicode'. Then, when the final pyxl-decoded source is built up, the whole thing has type 'unicode' rather than 'str'... and the whole point of the decoding was to str-ify the encoded file.

On 2.5 for some reason everything works (I don't know whether HTMLParser's behaviour changed or python simply used to accept decoded source that was unicode if `.encode("ascii")` worked on it or something). But this fixes it good.

Reviewed By: dan

dropbox/pyxl,lez/pyxl3,wfxiang08/pyxl,pyxl4/pyxl4