Simplify the _is_unsaved behavior
Fix occasional errors in get_array() when given an associative array
Make select() behave the same way as get_array(), returning an array with PKs as keys
Add ability to specify prefixes for DB tables and cache keys
Change the newly added get_table() method to get_table_name() to prevent confusion
Add ability to call select() with an arbitrary number of arguments
Add get_first() method to fetch teh first object only
Convert get_table_name() to a static method
Version 0.3.0: breaking changes. See commit message for details.

New feature: collection object.

The results of get_array(), get_if_*() and select() used to be returned as arrays.
They are now wrapped in a collection object that implements the Iterator interface.
This class behaves like an array in common operations such as foreach() loops,
but in other cases, it will break existing code.

For each class "Foo" that inherits \Beaver\Base, you should create a second class,
either "FooCollection" or "Foo_Collection", that inherits \Beaver\Collection.
You can add methods to this class to perform various operations on the collection
instead of operating on individual objects. As an example, the Collection class
comes with a delete() method that deletes every object in the collection using a
single query instead of deleting each object separately.
Version 0.3.0: add basic documentation of collection classes
Remove deprecated find_by_* methods, add get_first_if_* methods
exemple