Authentication exercise ready for review

I learned a lot about hashes and salts while working on this exercise.  Along with figuring out good strategies for planning testing (trying not to under or over test by having an idea of what tests may be useful before I start writing them) I think it would be a good idea to start thinking about ways to find and start addressing security holes in my apps.  Bcrypt was a interesting first look into security.