malloc(strlen(src) + 1), not sentence

Just so happens that sentence and src are the same length,
hence no crash.
Ignore example binary
Add debugging symbols to binary

Doesn't slow things down, and provides good information for Valgrind.
calloc rather than malloc in trie_init

The prior malloc, on GCC 4.4.6, tripped many valgrind warnings like

==4587== Conditional jump or move depends on uninitialised value(s)
==4587==    at 0x3C93E71373: _IO_file_xsputn@@GLIBC_2.2.5 (fileops.c:1307)
==4587==    by 0x3C93E47565: vfprintf (vfprintf.c:1603)
==4587==    by 0x3C93E4F039: printf (printf.c:35)
==4587==    by 0x400BB8: main (example.c:18)
==4587==  Uninitialised value was created by a heap allocation
==4587==    at 0x4A068FE: malloc (vg_replace_malloc.c:270)
==4587==    by 0x4007CC: trie_add (trie.c:8)
==4587==    by 0x400B67: main (example.c:13)

all of which stem from trie_init using malloc not calloc.
Close the stream
Free working buffer
Include header dependence
Use union to avoid TRIE_SENTINEL macro
Avoid _ prefix in union names

The unions and typedefs have a difference namespace in C,
and generally there's no harm in this for C++.
Make sentinel a void star

The sentinel is never directly dereferenced, just checked for truthiness.
So make it a void star to have the compiler yell if we do dereference it.
Avoid trie_init() for sentinel

The sentinel seems to only be used for truthiness, which
means simply setting it to be NULL or !NULL is sufficient
permitting avoiding calling trie_init().  While this doesn't
do much for speed in the example (as the unnecessary memory
allocation is only done at set up), it works wonders on the
memory footprint.

Valgrind on the example before the change:
    total heap usage: 1,190 allocs, 1,188 frees, 1,217,112 bytes allocated
After the change:
    total heap usage: 868 allocs, 866 frees, 887,384 bytes allocated
Silence pointer-from-integer warnings
Use enum not define for TRIE_SIZE

Permits it to have visibility in a debugger, e.g.,
as well as some better misuse warning potential.
Merge pull request #5 from RhysU/build_tweaks

Build tweaks
Merge pull request #6 from RhysU/make_valgrind_happy

Make valgrind happy
Merge pull request #7 from RhysU/sentinel_cleanups

Sentinel cleanups
Merge pull request #4 from RhysU/malloc_correct_strlen

malloc(strlen(src) + 1), not sentence
Merge branch 'enum_not_define' of github.com:RhysU/trie.c into RhysU-enum_not_define

Conflicts:
	trie.h
Add an additional gitignore for OSX
Makefile improvements