Validate MS SQL database names according to the MSDN.

Namely, the first character must be one of the following:
* A letter as defined by the Unicode Standard 3.2. The Unicode definition
  of letters includes Latin characters from a through z, from A through Z,
  and also letter characters from other languages (restrict to latin).
* The underscore (_), at sign (@), or number sign (#). [Some additional
  considerations on @ and # skipped, we restrict to _).

Subsequent characters can include the following:
* Letters as defined in the Unicode Standard 3.2 (restrict to latin).
* Decimal numbers from either Basic Latin or other national scripts
  (restrict to 0-9).
* The at sign, dollar sign ($), number sign, or underscore.

See http://msdn.microsoft.com/en-us/library/ms175874%28v=sql.100%29.aspx

Change-Id: I99f1798e261002d5ec22f2e7d10b1e29ef2ad81f
Merge "Validate MS SQL database names according to the MSDN."