Updating the phone validation routine.

According to NANPA, there are area codes and exchanges that are invalid or reserved and not available for assignment. This would make those phone numbers invalid. For example:

- area-codes: 555, N11, N9X, 37X, 96X
- exchanges: N11
- numbers: 555-0100 thru 555-0199

You could also say 555-1212 is invalid as it is assigned as information for the US.

I changed the tests where 555 as an area code was being used as the assertion will give it a false on the area code and not the exchange as intended.
I split out the regex to make it more readable as requested.
Run all tests only once, not for all databases.
Created new test group for all db related tests
Added more tests to db related tests group
Merge pull request #1476 from ADmad/enhance/travis

Run all tests only once, not for all databases.
Fixes a bug where server would not run when there are spaces in documentRoot.
Implement a Helper method to generate confirm() links

This allows for overriding the default behavior of showing
confirm()-dialogs in Html and Form helpers.
Restructured CakeResponse::header() to avoid multiple returns, assignments, and calls to itself
Added ability to send multiple values with the same type of header in CakeResponse
Removed a stray tab.
Merge pull request #1481 from uzyn/csfix

Removed a stray tab.
Merge pull request #1480 from uzyn/fix/shell-space-docroot

Fixes a bug where server would not run when there are spaces in documentRoot
Fixed order of assert params
Loop instead of duplicate code
Merge pull request #1484 from tigrang/code-cleanup

Loop instead of duplicate code
Added case for `unknown` type. Fixes #3966
Fix missing expiry times on cookies.

When writing multiple cookies in a single request with the default
expiry time, cookies after the first should continue to have the default
expiry time used.

Fixes #3965
Merge pull request #1483 from tigrang/debugger-fix

Added case for `unknown` type.

Fixes #3966
Switch from LEFT to INNER joins.

INNER joins are often more efficient as they can result in fewer rows
being examined before a result set is generated.

Fixes #3968
Do not translate "CakePHP"