Handle empty processing instructions in the SAX parser.

This fixes #845 and prevents a segfault.
Gemfile source
Updating ruby cross versions. Adding comments.
Version bump to 1.5.7.rc1
Updating Manifest.txt.

Related to f75a283 (#495).
CSS queries for classes (e.g., ".foo") now treat all whitespace identically. Fixes #854.
(MRI) Fixed a memory leak in fragment parsing if nodes are not all subsequently reparented. Closes #856
Be verbose when cross compilation is turned off.
MiniPortile recipes global now uses strings instead of symbols for keys.

Preparation for tidying up dependency declarations.
Extracting the "add to gem manifest dynamically" functionality.
Fixing broken MRI test introduced by 00bd8d5.
Fixing CHANGELOGs' indentation (thanks to @gravis for pointing out inconsistencies).
Added thorough namespace compliance testing for parsed, created, and built documents
* Fix the NAMESPACE_ERR issues (e.g, Issue #801)
* Untangle handling of namespaces in JRuby
* Secure XmlNode and NokogiriNamespaceCache against internal node object changes
Allow namespaces to be declared on first use in Builder just as they are in XML.
Make sure the namespace test knows where to find bacon
Port JRuby namespace changes to CRuby extension
Disambiguate and shore up namespace tests
Prefer constants to magic numbers.
Merge branch 'jruby-namespaces-rebased'