Throw exceptions when non Datasource classes are used as Datasources.

Using models as datasources can cause segmentation faults. Guard against
that by checking types and raising exceptions early.

Fixes #3694
Throw exceptions only when datasource has wrong package, not check for instance of Datasource
fix failing tests. test and mocked sources would cause exceptions
Merge pull request #1176 from ceeram/2.3-3694

Throw exceptions only when datasource has wrong package.

This is replaces instanceof checks with a more generalized check. 

Refs #3694
Force & when creating requests.

Some people will have entities in arg_seperator.output. Make HttpSocket
more resiliant.

Fixes #3692
Move tests around.

Try to fix timing issues in formhelper tests.
Fix issue with midnight hour & 12hr formats.

No hour would be selected in the case of 12hr formats and a time like
00:xx:yy
Merge branch 'master' of git://github.com/cakephp/cakephp
update plugin