Fix crypto to use a unique IV for each call to encrypt()

This patch deletes lib/encryptor.js and replaces it with the module simple-encryptor to use a unique IV for each request.
Previously lib/encryptor.js was using crypto.createCipher(algorith, stringKey) where it should have been using crypto.createCipheriv(algorith, keyBytes, ivBytes).
This means that repeatedly calling encrypt(...) with the same plain text would give them same encrypted result.

The encrypt/decrypt API for simple-encryptor matches up 1:1 with the original lib/encryptor.js, only the return values are different as they actually include IVs now (still utf-8 strings though).
Rather than throwing an exception on bad input, the decrypt(...) function now returns null.
The request.js code that calls it can treat that situation as a cache miss.

Simple-encryptor supports storing/retrieving arbitrary objects so the JSON.stringify(...) and JSON.parse(...) calls have been removed from getCache(...) and setCache(...).

The getCacheKey() function in request.js was using the old encrypt(...) function to generate a caching key based on the path/range/token of the request.
This only worked because the IV was not being used (so all encrypt(...) calls return the same value).
As each invocation of encrypt(...) now returns a unique result (due to the random IV), getCacheKey(...) has now been changed to use the hmac(..) function instead.
Additionally, the path key itself that is passed to the hmac(...) function has been changed to be a stringified JSON array of the path/range/token.

By default simple-encryptor computes and adds an HMAC to the encrypted result (i.e. "encrypt then mac").
The HMAC adds 64 bytes to each result (32-byte hash stored as hex).
You can optionally disable it by setting {hmac: false} in the call to Heroku.configure().

Additionally, you can now pass the encryption key to use as an option to configure.
This is done to allow using a value of a differently named environment variable (than HEROKU_CLIENT_ENCRYPTION_SECRET) as the encryption key.