Fix .gitignore to not ignore the carp directory under examples
Add a test-case without a `main:` label to trigger a segfault

The segfault happens in carp_vm_make() due a NULL pointer dereference
of `res`.

This also adds a directory called `fuzz` which isn't very well named,
but maybe one day we can start fuzz-testing Carp. Until then, we can
use this directory to hold use cases that break Carp, and one day a
test-suite that makes sure each commit doesn't break any of them.
Clean up file_read() and avoid a full memset() of contents
file_read(): improvements and better error messages
carp_lex_tokenize(): fix a memory leak

In the case the file is 0 bytes, we still allocate an extra byte for
NULL termination. This fixes a leak at exit where that 1 byte buffer
isn't freed.
Cleanup carp_vm_make() in preparation to fix segfault
Better error message in carp_lex_tokenize()
This test triggers memory errors in Valgrind

- 4 missing deallocations at exit
- 2 invalid memory reads
Free file contents after tokenizer errors.

This memory leak was found using valgrind. It matters when embedding
the VM into a program.
Merge branch 'jbcrail-fix-leak'
Add descriptions to instruction set.

I used src/carp_instructions.c to fill in the remainder of the
documented instruction set.
Add another Carp example.

This example prints out a countdown from 10 using a jump instruction.
Merge branch 'add-readme-doc' of https://github.com/jbcrail/carp
Merge branch 'add-carp-example' of https://github.com/jbcrail/carp
no int! carp_value!
add CDEBUG option for printing state, fix jump related issues
add fibonacci example
fix merge conflict
fix style violations
Don't make -g and asserts mutually exclusive with CDEBUG