Add update + join support.

This currently only works in MySQL. Additional work will be needed to
make it work with postgres + sqlite.
Fix failing test.

Columns were removed from the fixtures in a previous set of changes.
Update this test to reflect that.
Add basic table level updates.

Add basic table level updates that can update multiple records. Don't
implement _matchRecords or other join workarounds as they often lead to
concurrency issues. We can revisit that functionality later on if
necessary.
Rename method to match 2.x method.

update() is a handy method that I don't want to use just yet.
Add update with join support for Postgres.

Postgres requires some query fudging to make joins with updates
syntactically valid. Add a query translator that moves joins around and
creates a 'from' clause.
Enforce consistent ordering

Fix cross DB test failures caused by ordering and cross join issues.
Refactor and clean up.

Add early returns and reduce complexity of methods.
Merge branch '3.0' into 3.0-table-update

Conflicts:
	lib/Cake/Database/Query.php
	lib/Cake/Test/TestCase/Database/QueryTest.php
	lib/Cake/Test/TestCase/TestSuite/TestFixtureTest.php
Merge pull request #1360 from markstory/3.0-table-update

3.0 table update