Refactor cryptojs includes

 * Adds a build step to the makefile to concatenate the crytojs files.

   This makes upgrading straightforward, without the need to add headers
   to each individual file, leaving the source unmodified. It also means
   that one file needs to be included per page.

 * Adds pbkdf2.
Re-enabled file transfers

 * Uses the otr extra symmetric key as password and filename as
   diversifier to a key derivation function, the result of which is
   split and used as encrypt and mac keys. This was suggested in the
   Least Authority audit to prevent several attacks due to the re-use of
   key and iv when multiples files were sent in the same direction
   without the otr key having rolled over.

 * Also, it was suggested to store the encrypt and mac keys in a named
   structure rather than an array.
Merge pull request #628 from arlolra/ft

Re-enable file transfers