Identity map feature

This is related to the proposed feature pull request https://github.com/kla/php-activerecord/pull/321

It adds basic support for identity maps, enough to pass the suggested test. It currently does this in the table::find_by_sql function using the IdentityMap singleton to retrieve and store the model instances based on their table name and primary key.

Please do review it and suggest changes. I'll be adding in support for the identity map in eager loading as well as find_by_pk queries so it doesnt need to hit the database either.