Some performance related changes

I tried roll out some of the reasonable changes that I have already made to the FileHelpers build I use for my projects.

Performance related:
1. Caching of Stringbuilder on RecordOperations.cs for "RecordToString"
and "RecordValuesToString" methods to lessen a little the burden on the
GC (I actually didn't measure anything...)
2. Change to use "CompareOptions.OrdinalIgnoreCase" and
"CompareOptions.Ordinal" whenever possible (prety good performance gain
whenever we have some heavy string working to do...)
3. Change to use "ToLowerInvariant" instead of "ToLower" for a small
performance gain (10%)

Access Visibility
1. some access visibility level changes to useful Field properties on
"FieldBase", "FixedLengthField" and "DelimitedField" (similar to the
previous change on atributes!)

Other changes
1. FileHelperAsyncEngine.EOF, it is userful if using this engine using
ReadNextRecord () or ReadNexts () (usage in a while loop for example)
2. FileHelperAsyncEngine.Close, add a dispose to the TextWriter just as
a precaution...