Be picky setting the primary (originator) query as a Query parameter.

`\Cake\ORM\Query::$_primary = true` only for the primary query, every other
query originated from that one will have the value set to `false`.

`Query::primary()` will return the query `_primary` value.
`Query::primary(true)` will mark the query as being the primary.
`Query::primary(false)` will mark the query as being a byproduct.
Mark belongsTo and count queries as not primary too.
Update Query::$primary and Query::primary() names.

To Query::eagerLoaded and Query::eagerLoaded(), respectively. To reflect
the real purpose of the variable/function.
Merge branch '3.0-source-query' of https://github.com/bar/cakephp into bar-3.0-source-query
Fixed Query::eagerLoaded() and added test