Add support for suppressing lint via XML attributes

This changeset adds support for suppressing in XML files:

(1) Lint will ignore errors found in attributes and elements if the
    element (or any surrounding parent elements) specifies a
    tools:ignore="id-list" attribute where the id-list matches the id
    of the reported issue (or "all").  The "tools" prefix can be any
    prefix bound to the namespace "http://schemas.android.com/tools"

(2) There's a new quickfix shown for XML lint warnings which offers to
    add a lint suppress attribute for a given lint warning (setting
    the id to the id of the warning, and adding the tools namespace
    binding if necessary).

(3) The XML formatter now handles namespaces a bit better: after the
    preferred attributes (id, name, style, layout params, etc) have
    been handled, attributes are sorted by namespace prefix before
    they are sorted by local name -- which effectively will sort any
    new tools:ignore attributes to the end.

Change-Id: Id7474cde5665d9bd29bdd4e0d0cc89ed4d422aea
47 files changed