Implemented Mode => ECB - Electronic Code Book

In Crypt::Rijndael::PP
  Added interface only changes (not functional) to support requesting
  MODE_ECB.
  Implemented new, and encrypt methods to match the interface of
  Crypt::Rijndael

Created t/mode/01-ECB-Electronic_Code_Book.t
  Added Tests for ECB Use Cases:
    Encryption with 128 Bit Key
    Encryption with 192 Bit Key
    Encryption with 256 Bit Key
Implemented Mode => CBC - Chaining Block Cipher

In Crypt::Rijndael::PP
  Added Mode as argument to new, defaults to MODE_ECB, also added iv to
  blessed self hash.
  Added MODE_CBC
  Implemented set_iv
  Updated encrypt to XOR input with plain_text for CBC

Created t/mode/02-CBC-Chaining_Block_Cipher.t
  Added Tests for Use Cases:
    Encryption with 128 Bit Key
    Encryption with 192 Bit Key
    Encryption with 256 Bit Key
Implemented Multiple Block Support for ECB and CBC Modes

In Crypt::Rijndael::PP
  Refactored usage of iv to be per block rather than just for the first
  block.

Created Test::Crypt::Rijndael
  Implemented:
    test_rijndael_xs_encryption
    test_rijndael_pp_encryption

Created Test::Crypt::Rijndael::Constant
  This test file holds all of the input and expected output values,
  making the test much cleaner and centralizing this data
  Contains
    ONE_BLOCK_INPUT, TWO_BLOCK_INPUT, THREE_BLOCK_INPUT
    KEY_128_BIT, KEY_192_BIT, KEY_256_BIT
    Expected Cipher Text for Raindbow Input, Rainbow Key, ECB and CBC

In t/mode/01-ECB-Electronic_Code_Book.t
In t/mode/02-CBC-Chaining_Block_Cipher.t
  Refactored to support testing of multiple blocks and to consume the
  above testing files
Implemented Decryption Support for ECB and CBC

In Crypt::Rijndael::PP
  Implemented decrypt with support for ECB and CBC

In Test::Crypt::Rijndael
t/mode/01-ECB-Electronic_Code_Book.t
t/mode/02-CBC-Chaining_Block_Cipher.t
  Modified tests to perform encryption and decryption
Implemented CTR - Counter Mode

In Crypt::Rijndael::PP
  Refactored encrypt and decrypt methods to dispath to _encrypt_mode_*
  based on which mode was specified
  Implemented
    _increment_nonce
    _encrypt_mode_ctr
    _decrypt_mode_ctr

In Test::Rijndael::Constant
  Expected Cipher Text for Rainbow Input, Rainbow Key, CTR

In t/mode/03-CTR-Counter.t
  Added Test for Use Case:
    Encryption with 128 Bit Key (1, 2, 3 - Blocks )
    Encryption with 192 Bit Key (1, 2, 3 - Blocks )
    Encryption with 256 Bit Key (1, 2, 3 - Blocks )
Implemented CFB - Cipher Feedback

In Crypt::Rijndael::PP
  Implemented
    _encrypt_mode_cfb
    _decrypt_mode_cfb

In Test::Rijndael::Constant
  Expected Cipher Text for Rainbow Input, Rainbow Key, CFB

In t/mode/03-CFB-Cipher_Feedback.t
  Added Test for Use Case:
    Encryption with 128 Bit Key (1, 2, 3 - Blocks )
    Encryption with 192 Bit Key (1, 2, 3 - Blocks )
    Encryption with 256 Bit Key (1, 2, 3 - Blocks )
Implemented OFB - Output Feedback

In Crypt::Rijndael::PP
  Implemented
    _encrypt_mode_ofb
    _decrypt_mode_ofb

In Test::Rijndael::Constant
  Expected Cipher Text for Rainbow Input, Rainbow Key, OFB

In t/mode/05-OFB-Output_Feedback.t
  Added Test for Use Case:
    Encryption with 128 Bit Key (1, 2, 3 - Blocks )
    Encryption with 192 Bit Key (1, 2, 3 - Blocks )
    Encryption with 256 Bit Key (1, 2, 3 - Blocks )
Implemented Crypt::CBC Support and Test Coverage

In Crypt::Rijndael::PP
  Moved blocksize sub
  Added keysize sub

In t/compatability/01-Crypt_CBC.t
  Added test for usage of Crypt::CBC with both Crypt::Rijndael and
  Crypt::Rijndael::PP for 256 Bit Key
    1 Block
    2 Block
    3 Block
Merge branch 'feature/crypt_cbc_support' into develop