(minor) Making the test code a little more readable.

+ top-to-bottom reading more like a narrative.
+ don't split tests between nested "given"s.
+ reword, here and there to be a little more clear.
SQLDialect can generate SELECT for fetching by id.
SQLiteModel can fetch instances by id.
Documenting the fact that when translating hashes to SQL, both strings and symbols are allowed for keys.
New values can be set on SQLiteModel instances using the []= method.
SQLiteDialect now generates well-formed UPDATE SQL statements.

+ back-tracking on implementing SQLiteModel.save because I need to add "class_attribute" feature first (coming next).
[WIP:class_attribute] Classes can define singleton attributes that are inherited

+ included setup/teardown to clean-up classes, in between tests.
[WIP: class_attribute] Added Module.remove_possible_method() to facilitate removing methods of any visibility.
[class_attribute] Base implementation complete.
Class Attributes are accessible from instances
SQLiteModel persists changes when save() is called.

+ turned "db" and "dialect" into class attributes.  This way, Individual models can have their own DB connection and dialect pairing.
SQLiteModel instances provide accessors for attributes defined on the underlying table.