Changed type of Fields property to IList
Updated TableMap to track value converters

Values are now converted to a compatible "DatabaseTypeValue" after
retrieving the value from the object's property.
Changed return type of GetValue to DatabaseValue
Moved functionality of TranslateValue to a static method
Parameter values are now changed to the database-specific type

Changed the value parameter to be of type DatabaseValue.
SetValue() now uses a converter

The method accepts a database value and converts it to the property's
type.
Added a method to convert to SQLite data values
Using the correct method for converting a parameter's value
Fixed literal DateTime formatter being produced
Fixed command not being passed field types

This prevented type resolution during result parsing.
Fixed rows not being retrieved by reader
Fixed not being able to use private constructors
Changed return type of result indexer to DatabaseValue

Changes some other code to fix values not being converted correctly.
Initialized Attributes to a mutable attribute set

Fixes the issue where Name and Email would be set when Attributes was
null, causing an exception to be thrown.