eCryptfs: Add mount option for cipher mode

This patch removes the hardcoding of CBC mode in eCryptfs and adds a
mount option allowing one to specify the desired mode of operation.
Currently this defaults to cbc, but should would with any plain block
cipher mode supported by the kernel.
eCryptfs: Extend file headers to store cipher mode.

TODO: Will.
Re-enable GCM and ECB modes.

Selectively reverts parts of bb845c81133c5796604dac0f8bfadd240689e543 and
4eff0f302729da0a7bd87847a5ba2ed155875d9b.
Merge branch 'dev' of github.com:zmanji/ecryptfs into dev
Switch crypt_stat's tfm to crypto_tfm type
Attempt abstract tfm using direct casts
Completed casting work.
No longer crash, but now suffer EBADMSG.