Move to PHP5.4, fix bugs and add tests

Not ready to merge, 2 tests to fix.
Here you can use the `castToString` asserter which will ensure you object (`$string`) is castable and then provide you a standard `string` aserter on which you can call `isEqualTo`