Set the default type to select.

It is the implicit default anyways. If a query object does not have
another query type method called it should behave like a select query.
This change removes annoying failures when using mocked queries.
Separate execute() into 2 methods.

Split execute() into 2 methods. ORM\Query::execute() now only ever
returns a StatementInterface, while Query::all() returns a ResultSet
object. This allows each method to have a consistent return value and
allows update/delete/insert queries to not trigger Model.beforeFind
events incorrectly.

I'm not sold on the method names, but I think the separation they create
is a useful change.
Fix merge conflict issues and failing tests.
Fix failing code in PaginatorComponent.

Instead of execute(), all() should be used now.
Fix failing SchemaCollection tests.

I was clearing the cache incorrectly in the past.
Query::_type has to default to null.

Defaulting to 'select' causes downstream failures when identifier
quoting is involved and queries are manipulated.
Merge pull request #2578 from cakephp/3.0-orm-query-get

3.0 - Separate query->execute() & query->all()