Fix uID override while editing guestbook entry.
Prevent entryDate update while editing guestbook entry.
Add phpass 0.3, downloaded from http://www.openwall.com/phpass/

This is public domain code, written by Solar Designer <solar at openwall.com>
Switch to a phpass based password hashing system, replacing the previous md5 with site wide salt method.

See discussion at http://www.concrete5.org/developers/bugs/5-6-2-1/more-secure-password-hashing/
Update tests to match new password rules: max length 128 instead of 64, and more characters allowed in passwords.
Move PasswordHasher Init to Lazy Loading

As the `User` can `UserInfo` objects are instantiated quite often. There
could be unneeded performance impact.

- Change to lazy load in the `User` model
- Remove from `UserInfo` as the `User` model is already instantiated and
  available to the `UserInfo` model via `UserInfo::getUserObject()`
- Corrent issue with `$hasher` was not yet created.
Add PHPdoc to getUserPasswordHasher
Fix uninstantiated User object in static method

- Do not use `User` object hash object as not yet instantiated
Fix typo in getUserPasswordHash
Fix AttributeKey object sets on new AttributeValue

When a new `AttributeValue` is created as opposed to getting and
returning a previously set `CollectionAttributeValue`,
`UserAttributeValue` or `FileAttributeValue` an `AttributeValue` is
returned instead of the more specific inherited class.

This is inconsistant as both the create and retrieve should return the
same class.

This also fixes the `UserInfo`, `File` and `Collection` objects not
being set on new `AttributeValue`s but is set on retrieved ones.

- Add `CollectionAttributeValue::getCollection()`
- Add `UserAttributeValue::getUser()`
- Add `FileAttributeValue::getFile()`
- Set newly created `AttributeValue`s to more specific inherited class
- Set appropriate object on specific `AttributeValue`s
Fix CollectionAttributeValue typo
Fix stupid mistakes
Refactor Manual Float Cast to just (float)

Previous algorithm appears to have intended to perform some type of
rounding. It actually just strips 0's. The `round()` method ends up
rounding to the number of digits before the trailing 0's which is always
the same and doesn't actually round anything.

- Change to `(float)` as it does the same thing with less code and is
  easier to read
moved file type inspectors
Merge branch 'use-phpass' of https://github.com/bdsl/concrete5 into bdsl-use-phpass
tweaks to encryption, jobs, tokens; removing need for old password salt
Delete phpass test script.

Potentially the functions from this script could be restored in the form of PHPunit tests, but I don't know if its necassary.
Merge pull request #1588 from mkly/fix_attribute_value_object_sets_and_gets

Fix AttributeKey object sets on new AttributeValue
Restore the Concrete5_Model_User::encryptPassword function. It is now a thin wrapper
around phpass's HashPassword function.
Merge branch 'master' of github.com:concrete5/concrete5