Issue #11: Made huffman script Python 3 compatible

https://github.com/alobbs/libhpack/issues/11

The python script to generate the huffman tables was not version 3
compatible.

Now it should be fixed and should work on Python versions 2 and 3.

It has been tested in 2.7 and 3.3 versions.
Bugfix

Fixes an incorrect management of header fields that led to crashes.
Convert functions to macros

Converts the assert_store_n_eq() and assert_dyn_table_n_eq() utility
functions to macros so the right source code location would be shown
when a test fails, in opposition to the function info as it was being
shown now.
Aesthetic change
Updates the draft version
Fixes format

Unintentionally removed training spaces at the end of lines, which
messed up the formatting.
Highlights a new type of error

The assertion failures thrown by ck_assert_str_eq() were not being
highlighted.
Accept multi-word commands
Notify when child test processes crash
Merge pull request #25 from Akrog/huff_gen

Issue #11: Made huffman script Python 3 compatible
Issue #18: Test integer conversion in headers

https://github.com/alobbs/libhpack/issues/18

According to the draft there are several concerns regarding the VLQ
integer representation as explained in section **5. Security
Considerations**.

These 3 new tests verify that those concerns are addressed.

Integer concerns:
- size of integers in value: function indexed_big_value
- size of integers in encoded length: function indexed_many_zeroes

They also test that a very large, and incorrect, length value will not
break the library (function: literal_w_index_false_len).
Issue #18: Test integer conversion in headers

https://github.com/alobbs/libhpack/issues/18

There was an error in the comments of function *literal_w_index_false_len*
This has now been amended.
Fixes "make test"
Minor aesthetic change

Updates the formatting of the error reporting a crashing testing
process.
Issue #26: New integer tests

https://github.com/alobbs/libhpack/issues/26

There were several important cases that were not tested by *integer_test.c*

Added tests:
- *decode_too_big_for_int*: Decodes a number > INT_MAX
- *decode_too_big_for_uint*: Tries to decode a number > UINT_MAX
- *decode_too_big_for_ulong*: Tries to decode a number > ULONG_MAX
- *en_decode_max_uint_5bits*: Encode/Decode INT_MAX with 5 bit prefix
- *en_decode_2nd_byte_0*: Encode a number with 1st byte 1s and 2nd 0s
- *decode_too_many_zeros*: Tries to decode a number with too many zeros

Most of these tests fail with the current integer encoding/decoding
algoritm.
Fix #26: New VLQ integer encoding/decoding

https://github.com/alobbs/libhpack/issues/26

Encoding would encode numbers greater than INT_MAX.
Now it can enconde up to UINT_MAX.

Decoding would have trouble with:
- Numbers greater than INT_MAX --> Return negative number
- Numbers greater than UINT_MAX
- Would process all bytes of a stream with many zeros

According to the draft if we encounter too big a number or too many
zeros in the encoding we should consider this an error. Now it does.
Fix #26: integer.h amends

https://github.com/alobbs/libhpack/issues/26

Changes to integer.h:
- Removed *MIN macro*
- Renamed *MAX_LEN_INTEGER* to *VLQ_MAX_LEN_INTEGER*
Merge pull request #27 from Akrog/header_test

Issue #18: Test integer conversion in headers

According to the draft there are several concerns regarding the VLQ
integer representation as explained in section 5. Security
Considerations.

These 3 new tests verify that those concerns are addressed.

Integer concerns:

size of integers in value: function indexed_big_value
size of integers in encoded length: function indexed_many_zeroes
They also test that a very large, and incorrect, length value will not
break the library (function: literal_w_index_false_len).
Fix #26: integer.c amends

https://github.com/alobbs/libhpack/issues/26

Changes to integer.c:
- Renamed *MAX_LEN_INTEGER* to *VLQ_MAX_LEN_INTEGER*
Merge pull request #28 from Akrog/integer_fix2

Issue #26: New integer tests

There were several important cases that were not tested by integer_test.c

Added tests:

decode_too_big_for_int: Decodes a number > INT_MAX
decode_too_big_for_uint: Tries to decode a number > UINT_MAX
decode_too_big_for_ulong: Tries to decode a number > ULONG_MAX
en_decode_max_uint_5bits: Encode/Decode INT_MAX with 5 bit prefix
en_decode_2nd_byte_0: Encode a number with 1st byte 1s and 2nd 0s
decode_too_many_zeros: Tries to decode a number with too many zeros
Most of these tests fail with the current integer encoding/decoding
algoritm.