Adding case-insensitive User.getByEmail method

fixes #1498

- emails are no longer converted to lowercase, local mailbox can validly
  be mixed case
- getByEmail uses JS to compare emails to ensure we can support unicode
- tests that users can be retrieved by their email address with case
  insensitivity
Fix posts.html and posts.markdown field type

closes #1947
- added fieldtype: medium for posts.html
- changed fieldtype: medium for posts.markdown
- added method to fix databases created with wrong field type
- added tests for database version 002
Merge pull request #1957 from sebgie/db-fix

Fix posts.html and posts.markdown field type
Merge pull request #1954 from ErisDS/issue-1498

Adding case-insensitive User.getByEmail method