Use the name of the database column for mocked objects.

Use the name of the database column for mocked objects (case-sensitive).
Stops using the array key (case-insensitive)
Updated tests to facilitate for the getName() method, required for case-sensitive attribute names.
Models can now override the table used. The lower-case, plural name of the class will be used unless $table is declared as a public variable in the model.
Merge branch 'fix_table_case'