Initial commit.
Add a simple libleornian debugger.

This commit adds leodb.c, a file which implements in() and out(),
passing them to leo().

in() reads from stdin, and out() prints to stdout. The purpose is to
allow basic testing of libleornian's pattern analysis.
Print a newline after out().

Previously a newline was being printed before the prompt in in(). This
caused a newline to needlessly be printed before the first prompt.
Add a cmake configuration file.

This commit adds CMakeLists.txt, a cmake configuration file for building
leodb on any cmake supported platform.
Add compiler warning flags to CMakeLists.txt.

This commit adds a conditional check for the compiler and adds
appropriate warning flags for it.
Remove unnecessary parameters from main().

leodb does not currently use command line arguments, and having unused
parameters was triggering a warning with GCCs -Wextra flag.
Increase bufsize relative to bufsize.

Previously if there was insufficient space allocated to store stdin, the
allocation would be increased by the constant BLOCK_SIZE.

This commit instead increases the allocation by a factor of BLOCK_FACTOR
(set to 2), with an initial allocation of BLOCK_SIZE. This is beneficial
because the number of realloc() calls scales with larger inputs.
Only print a newline if data was printed.

This commit prevents newlines being printed after an empty message was
provided to out() (usually due to an empty message being provided by
in()).
Rename the BLOCK_* macros to STDIN_*.
Use the new libleornian in() prototype.

The libleornian public interface updated the in() function prototype to
take an additional parameter, size_t *recurse. This parameter is used
when determining how much pattern analysis to perform on the provided
data, at runtime.