First draft of CBOR (de)serialization API

Achievements:
- Basic API for (de)serializing
- Supports (de)serializing
  - uints (<= 23) (the one directly embedded in the additional info field)
  - bools
- Added test code using the new API in test_cbor
  (tests are based on embUnit)
added cbor_deserialize_string function, macros still not working
Add comparator function param to CBOR_CHECK

Allows to select the comparator function for each test row.
Minor: Cleanup
Implement (de)serializing 32 bit floats
implemented cbor_serialize_byte_string_array
Add {encode,decode}_float_half before I forget

Still unused for the moment
serialize_unicode_string() ignores all but the first character, but other than that, it's kinda working
Make compile, cleanup code
cbor_deserialize_array no longer modifies stream->data; cbor_serialize_unicode_string implemented using wchar_t
Cleanup tests

Provide a specialized CBOR_CHECK macro for pointer-types
Implement basic array serialization support

Add tests for major type 4
Cleanup test code, fix warnings
cbor_stream_decode: Support byte strings and array
Move test_cbor to unittests/
Implement (de)serialization of doubles
Fixup test output on failure
Make sure we don't write on invalid memory

Don't write on the stream in case it is not large enough.
Adapt serialization functions for major type 0, 1 and 7.
Add tests
Return 0 in case of invalid type of data

Do that for major type 0, 1 and 7. In case we don't have the expected
type of data in the stream, just return 0 instead of asserting.

Add tests
Cleanup