Fix for bug#4434

http://wixtoolset.org/issues/4434/

Simple check in pyro command line argument parsing, as well as a
restriction added to the XSD definition of the /PatchBaseline@Id value.
As per Bob Arnson's suggestion, changing limit to 27 characters

For safety in case of 50+ transforms being applied.
Another comment and suggestions from Bob :)

Moving validation to the compiler where all other schema validations
occur.

Using the IdentifierTooLongError error message format for this.  Seemed
the most accurate.
Adding more descriptions to the xsd

for documentation posterity.
Removal of xsd restrictions

Didn't even occur to me to take preprocessor variables into
consideration