Added support to Comparison expression for using Expressions as the field
Fixing tests in SQL Server
Revert "Fixing tests in SQL Server"

This reverts commit 5c1969910bede542c0f94b1e4b98f26c4f6a5eb2.
Altering test in hope of making SQL server happy
Fix exists() being called on every save() operation.

If an entity isNew and contains no primary key data we should not call
exists() as there is no way for it to exist yet. Exists should continue
to be called when the entity has a primary key value and is marked as
new though as it may or may not exist in the database and we need to
know.

Fixes #4260
Tidy up docblock.
More correctly fix issue where new entities would trigger an exists() query.

We need to allow 0 as a primary key, but not check for existing records
if there are no primary key columns.

Additionally, fix up tests that were checking that exists() was called
and now it is not.
Expand has() so we can check multiple properties at once.
Use EntityTrait->has() where possible.

The new has() signature supports higher level code in Table operations
and lets use not use array_filter() in various different ways.
trying to trigger a SQL server build error
Figuring out what SQL is offending SQL Server
Hopefully fixed SQL server this time
Make session cookie path setting a bit DRYer.
Merge pull request #4251 from cakephp/3.0-fix-comparison

Added support to Comparison expression for using Expressions as the field
Merge pull request #4272 from cakephp/issue-4260

Fix exists() being called on every save() operation.
Merge pull request #4282 from ADmad/3.0-sesion-cookie-path

Make session cookie path setting a bit DRYer.