#102 DetectColumnCountChanges and CsvBadDataException issue when there are extra columns in some rows

- Modified how the FieldCount is set
  1. If header does not exist, then update FieldCount
  2. If header does exist and it is the first row, then update FieldCount
- Added a unit test InconsistentColumnsMultipleRowsTest()
Fixed writer issue where writing with Configuration.QuoteAllFields enabled will not quote the quotes inside the field.
Updated version to 1.15.0.
Changed mapping for ConvertUsing to accept a Func so a block expression can be used.
Added GetField<T, TConverter> overloads. Changed all Activator.CreateInstance calls to use compiled expression trees to create them instead.
Updated file headers.
Changed TypeConverterFactory to use a set of cached type converters so global type converters can be used.
Updated version and nuget info.
Made TypeConverterFactory thread safe. Added remove converter method.
Ignore properties that can't be set in attribute mapping.
Fixed issue with writer exception in WinRT. Updated version number.
Update README.markdown
Update README.markdown
Configuration.UseInvariantCulture was removed and Configuration.CultureInfo was added in it's place. Fixed issue with writing invariant culture. Added test for writing invariant culture.
A CsvConfigurationException is thrown if no mappings were found when doing class or attribute mappings.
Added test for ConvertUsing as a constant.
Simplified reader expression tree work. Thanks to Thomas Miliopoulos for finding this!
Reference mappings work recursively down the whole mapping tree. The writer is not .NET 3.5 compatible.
Recursive reference mapping for the writer now works in .NET 3.5. Simplified writer code by removing .NET 3.5 specific code.
Removed the expression compiler from the reader. Added test to 3.5 project.