Improved Cipher input/output streams.
Rewrites of JCE javax.crypto.CipherInputStream and CipherOutputStream that don't silently eat invalid ciphertext exceptions and don't call doFinal() twice (i.e. can be used and used safely with AEAD ciphers).
Improvement to LW API CipherInputStream and CipherOutputStream to support AEADBlockCiphers and simplify internal logic.
Full testing of JCE and LW Cipher streams with common ciphers, including tampering of AEAD ciphertexts.

Oracle bug refs for broken Cipher stream behaviour:
- http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8016171 (CipherInputStream masks ciphertext tampering with AEAD ciphers in decrypt mode)
- http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8016249 (CipherInputStream in decrypt mode fails on close with AEAD ciphers)
- http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8012900 (CICO ignores AAD in GCM mode)
modified to be public/protected
Merge remote branch 'origin/master'
added support for own parameter regeneration. Minor refactoring.
Merge remote branch 'origin/master'
Speed up modular reduction by reducing multiple words at a time
Merge remote branch 'origin/master'
Use up/down instead of left/right for shifts to avoid endian confusion
Increase the number of bits that can be reduced vector-wise
If there are excess bits in the reduction, just skip them
Merge remote branch 'origin/master'
Add method generateJSF for generating the Joint Sparse Form of two
BigInteger arguments
Use JSF instead of independent NAFs in Shamir's Trick
Add NamedCurve constants for brainpool curves from  RFC 7027
Merge remote branch 'origin/master'
fixed comparison of RC2 OID.
Merge remote-tracking branch 'origin/master'
added test for RC2 40 bit parameters.
update
Merge remote branch 'origin/master'

Conflicts:
	docs/releasenotes.html