Adds Record::find() method

As requested by @mvdkleijn in issue #461, this is a pull request for my improved Record class.

The goal is to create a `Record::find()` method that can be used by classes (models) that extend the Record class. The `find()` method accepts an array with options, builds a query and then passes it to `findBySql()` which executes the query and returns an (array of) object(s).

This is similar to the current `find()` methods that already exist in Layout, Snippet, User, Comment etc. However, using PHP 5.3's `get_called_class()` function we only need to define the method once, in the Record class, instead of in every model where we want to use it. This will make Wolf's sourcecode more DRY.

I also added some extra options that can be set, in order to control the `SELECT`, `FROM`, `JOINS`, `GROUP BY` and `HAVING` parts of the query. Of course, everything is optional, a simple `MyModel::find()` (without any options) will return a simple `SELECT * FROM table_name` result.

In the future I would also like to add Eager Loading functionality. This way we could (for instance) load an amount of Page objects, and then for each object, load the associated User models and put them in the `creator` and `updator` properties of the Page object. You will of course be able to decide when you include those associated objects, so if you don't need them, they won't be included (saving the unnecessary database queries).

Note the following:

* <del>This is a work in progress and **unfinished**!</del>
* It uses the PHP function `get_called_class()` and therefore requires **PHP 5.3.0 or higher**.
* <del>Currently based, and only tested on MySQL and might contain **MySQL-specific** parts</del>