Modified ScriptDB to use other custom BCP formats.

 * For tables with 50,000+ rows a compact CSV-like format is used (it isn't actually CSV because I wanted to use a multi-character delimiter that is unlikely to occur in our static data). Since this is a text format it can be viewed, diff'd and merged whereas the binary .dat format cannot. The full JSON-like format is too verbose for tables with a large number of rows, resulting in files that are too large.
 * For tables with less than 50,000 rows we use a JSON-like format that is even better for viewing, diff'ing and merging.
 * Both formats are saved as .txt files using the Windows 1252 code page. We could make text editors and source control work with the utf-16 format, but that may lead to more issues. The old approach using INSERT statements used text files with Windows 1252 so we've already been working fine without Unicode support.
Fixed issue scripting data for tables with sql_variant columns.

The new text-based bcp data file formats don't correctly handle sql_variant columns (when you create the database from scripts the values will all be varchar instead of preserving the correct type). So when the table contains a sql_variant column I fall back on the method that uses INSERT statements (for smaller tables) or Unicode native (binary) format for larger tables.