Bugfix for folding of MeaningGroups

- MeaningGroups didn't properly fold, and adding/removing all didn't work either.
  It turned out that this was a problem with the way WordMenuView:setModel worked.
  Now each of the update methods in WordMenuView is performing it's own model updates,
  only using a deep merge sometimes, and setModel was removed.
  It also appeared to be necessary that the cases for MeaningGroups and logical order
  removed the model parts of the other case, so that we don't have incorrect word data in meaningGroups,
  and the logical ordered words aren't repeated below the meaningGroups.
Fixed two bugs that caused exceptions
Added problem help info to SetupBar
Fixed syntax in README.md
Updated todo and added the more important entries to our issue tracker.
SoundPlayOption working again

- It's now possible to switch between playing sounds on hover or click.
  This choice is remembered by the browser in localStorage.
- Closes #2
Implemented better password hashing

- We now use bcrypt with salted hashes.
- There's no change to the database layout, as I've anticipated different hashes.
  I just was lazy originaly where I shouldn't have been.
- For compatibility with php version <= 5.5 we use a compatibility library from https://github.com/ircmaxell/password_compat
- We now follow the best practises for this problem as mentioned in http://php.net/manual/en/faq.passwords.php
- Old md5 hashes still work for the first login, but will be replaced automagically on login.
- Fixes #7
Renamed config.php -> config_example.php

- This way pulling from the repo doesn't cause merge conflicts with config.php
- config.php is now also part of the .gitignore as it can contain sensitive login data.
  The data currently held in it is not sensitive as it's only used on a single development machine
  that allows localhost connections only.
Fixed missing superscripts for languages

- Language:getKey now appends the superscript status if the shortName alone is not enough.
- Closes #4
Removed debug output
Updated jquery 2.0.3->2.1.1
Adjusted all our scripts to "use strict";

- A big part of our website is written in JavaScript now.
  By using strict mode we reduce the mistakes possible in the code,
  because it becomes easier to trigger syntax errors or throw exceptions.
Moved contents from /website/main to /

- Before publishing this repo on github there used to be other directories parallel to website,
  which made it useful to have the website stuff in its own directory.
  But now that this repo is concerned only with the website,
  it's logical to have the website reside at the toplevel.
Updated README.md with further setup instructions
Bugfixes for strict mode.
Implemented default cases for collections/{Choice,Selection}

- Until now it was possible that Choice:setChoiceByKey or Selection:setSelectionByKey were fed with invalid keys,
  for example when the study was changed and old keys remained in the URL, or when the user enters invalid URLs.
  To mitigate this issue both methods now check for cases where the key can't be found and revert to defaults in that case.
Bugfix in Language:getSuperscript
Bugfix in Region:getColor to obey Study:getColorByFamily

- Region:getColor now returns getFamily().getColor() if the families color should be used instead.
Bugfixes in {Map,Word}View for cases where no Transcription is found.

- In such cases we now simply don't try to display content,
  but we might also like to throw exceptions or at least log messages,
  to raise awareness for missing transcriptions.