Add incremental CCM authentication processing

CCM is only meant for packet mode where the length of the input is known in
advance. Since it is a packet mode function, CCM only had one function that
performs the protocol.

However, incremental authentication is usefull in some usecases. It also
ensure some kind of coherencies when processing with a given authentication
mode or another. To achieve this aim, this commit adds the following functions:
    ccm_init()
    ccm_add_aad()
    cm_add_nonce()
    ccm_process()
    ccm_done()
    ccm_reset()
as well as the data structure
    ccm_state

Change-Id: I5225a42bb098708c4af07518b561bb00f85bc243
trim trailing spaces
add missing pointer checks
also run testvectors on new CCM API

[skip ci]
ccm test: add missing AAD
Merge branch 'pascal-brand-st-dev/ccm' into develop

This closes #55
start updating documentation
more documentation
update README
update changes document

[skip ci]
oops, it's not yet released

[skip ci]
update changes document
trim trailing spaces
some minor corrections/improvements
add documentation of the newly added ASN.1 types
add documentation of the new RSA API functions
fix build error
quiet down the output of 'make docs'
use ulong32 resp. ulong64 in the tables of the Macros section

This closes #16
add SHA512/t documentation