Review and refactor of PBKDF2 support patch.

* Adjusted to coding guidelines
* Pulled out PBKDF2 functionality into own class
* Make benchmark a best of N approach with guaranteed minimum
* Fixed broken database migration code. Don't try to alter
  tables and instead rely on them being re-created with the
  new fields.
* Fixed some typos in ini. Also move to the setting to the
  end so ppl. don't get the idea they have to change this.
* Chose a scarier name for the plain hash function
* Use int instead of size_t for iteration counts as it is
  the datatype used in the OpenSSL API. Otherwise we just
  have to much pain with constantly converting and might
  expose ourselves to size issues in the future.
* Moved new UserInfo enum entry to the end as to preserve
  the order