CHANGE-669 - Remove old pre-5.3.0 code since v160 requires 5.3.0 minimum now
CHANGE-669 - Remove old pre-5.3.0 code since v160 requires 5.3.0 minimum now
CHANGE-670 Add additional fields to orders tables
CHANGE-663: 211127: Strip embedded spaces for various admin configuration/parsing settings
combine to 2 line
CHANGE-89 - Convert to SHA1 or better for password hashing

The actual changes go further than the initial JIRA issue description.

The intent of the change is :-

For PHP version 5.5.0 or greater - use new inbuilt password_hash functionality.
For PHP version < 5.5.0 but greater/equal to 5.3.7 - use password_hash compatibility layer https://github.com/ircmaxell/password_compat
For PHP version <5.3.7 (due to bug in crypt function) use our own custom compatibility layer using SHA256 and bigger salts

Regardless of the comapatibilty layer used the code also :-

increases the size of database fields used to store password hashes to accomodate new longer hashes/salts and to also allow for future changes to password hashing mechanisms.
updates the stored password hash whenever a succesful login occurs (admin/catalog) where necessary.
updates the stored password hash whenever a password change request is made (admin/catalog)

Note: it is not possible to update password hashes for historical passwwords stored for admin, as we do not know the corresponding plaintext password.

Also added some unit tests and amended the loading structure for unit tests (now using xml config rather than deprecated suite based loading)

We have tried to test this as extensively as possible using VM's for different PHP versions. However given the nature of the changes we still feel some more real world testing is required.

VM's tested on Ubuntu 11.10(php 5.3.6) Ubuntu 12.10(php 5.4.6) Ubuntu 13.10 (php 5.5.3)
Have not tested any windows versions :(
CHANGE-669 - Remove old references to PHP 5.2 since v160 requires 5.3.0 minimum now