Allow condition keys with : or ? chars in sequence

This was failing when attempting to cast values inside a key; ie:

`'Model.field::integer' => array(1, 2)` or
`'"Model"."field"::integer' => array(1, 2)`

where the number of `:` or `?` characters is equal to the number of elements in the value array. 

That would cause it to attempt to run the `__parseKey()` function, ending up with a condition segment string such as `... "Model"."field"::integer = ` which was not the intended behavior.

This patch looks to see if the characters are all next to each other. If so, we can safely assume that the user is not trying to interpolate the values into the key string.

Since it checks for question marks first, this also allows casted condition keys to use BETWEEN syntax, ie: `'"Model"."field"::integer BETWEEN ? and ?' => array(1, 100)`

would output the expected condition:
`"Model"."field"::integer BETWEEN '1' and '100'`
Added test case for : chars in sequence

Updated the `testParenthesisInArrayConditions()` method to include test case for commit https://github.com/ozzyogkush/cakephp/commit/21c75062cb849f088d4c5b1f1f3c41ee74645621 where condition keys can have `:` or `?` keys in sequence. Mainly for Postgresql casting types using `::` syntax where you still may want to use the `BETWEEN` syntax.
Merge pull request #1 from ozzyogkush/1.3

Added test case for : chars in sequence
Made better test cases for pull #2543

Better test cases for commit https://github.com/ozzyogkush/cakephp/commit/21c75062cb849f088d4c5b1f1f3c41ee74645621 - shows how to use quotes on model/field in condition key when casting to ensure proper quotes in returned condition string.
removed unnecessary preg_match, spaces round . op

Removed an unnecessary `preg_match()` when checking for `?` characters in a condition key string - only needed when checking for `:` characters to ensure they're not next to each other. Added spaces around the `.` operators that I forgot to do in a previous commit.
removed comments which were wrong

Removed comments indicating known bugs, when they were not bugs.
preg_match() strict equality

Use strict equality check when looking at return value of a `preg_match()` call.
Coding standards

Fixed a couple coding standards and strict equality flubs
Merge pull request #2543 from ozzyogkush/patch-1

1.3 Allow condition keys with : or ? chars in sequence
Backport f23d811ff59c50ef278e98bb75f4ec1e7e54a5b3 to 1.3

Use the form action URL in generated form hashes.

By including the URL in generated hash for secured forms we prevent
a class of abuse where a user uses one secured form to post into
a controller action the form was not originally intended for. These
cross action requests could potentially violate developer's mental model
of how SecurityComponent works and produce unexpected/undesirable
outcomes.

Due to the limitations of 1.3, only the *path* is used as a hash input.
This is slightly less hard than the 2.x implementation but should be
enough to prevent most forms of misuse.

Thanks to Kurita Takashi for pointing this issue out, and suggesting
a fix.
Bump version number to 1.3.18