Correct the handling of back-slash escaping in the EL parser and no longer require that "\$" or "\#" must be followed by "{" in order for the back-slash escaping to take effect.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1590835 13f79535-47bb-0310-9956-ffa450edef68
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56334
Additional tests and fixes
Includes the following:

1. Allow '\' in xmlns attributes of UninterpretedTag. A test added.

(Java escaping was missing. Xml-escaping is still missing. I think it is unlikely that anybody would use such values for xmlns attributes)

2. Fix interaction between Validator.ValidateVisitor.checkXmlAttributes(CustomTag ..) and getJspAttribute().

- EL expression was parsed twice in both methods. Now I am passing the already parsed EL.
- getJspAttribute() has EL validation code, so reduce duplication
- When calling getJspAttribute() you have to pass original attrs.getValue(i), not the textual value.

3. Fix Validator.ValidateVisitor.XmlEscapeNonELVisitor
- It was not EL-escaping its text. Tests added.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1590842 13f79535-47bb-0310-9956-ffa450edef68