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
Set default cookie path to app's base path instead of "/".

This allows running multiple apps in subfolders under document root, without
interfering with each other or potentially other non-cake apps on same domain.
Use Plugin::classPath() instead of hardcoded "src" in path.
Fix missing behavior class name
Merge pull request #4276 from majna/3.0-missing-behavior

Fix missing behavior class name
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.
Add "cookie_path" as shorthand for php.ini's "session.cookie_path" config.
Fix docblock
Update docblock.
Rename "cookie_path" to "cookiePath" for consistency.
trying to trigger a SQL server build error
Figuring out what SQL is offending SQL Server
Hopefully fixed SQL server this time