Csvloader

This branch switches csvloader to use SuperCSV instead of OpenCSV. ENG-4093 and ENG-4591.

Notes:
1. CSV file loading speed is almost the same as before. Below is the testing result of loading a 1.5G CSV file with 15 columns and 13208233 lines into the table:

    with SuperCSV:
    Replicated table: 2919.861 row/s
    Partitioned table:
    2 sites: 50982.273 row/s
    4 sites: 54464.918 row/s
    6 sites: 54506.047 row/s

    with OpenCSV:
    Replicated table: 2861.522 row/s
    Partitioned table:
    2 sites: 49842.39 row/s
    4 sites: 53075.168 row/s
    6 sites: 52881.797 row/s
    Memory needed is normally less than 50MB

2. All parameters in the documents are still supported(I modified SuperCSV's src file for adding support to some of the parameters, changes are mostly in Tokenizer.readColumns()).
3. It takes care of open quotes now. By default, a column value in open quote that is greater than 16MB will not be accepted. User can also specify the limit size of a column by using the new parameter columnsizelimit.
4. Both /N and //N as csv input are treated as csv null value.
5. More test cases for different parameters are added.