.gitignore: Add a few more autotools generated files

Newer autoconf/automake copy a script called 'compile' and a
'test-driver', which should not be committed, so they're best ignored.

Signed-off-by: Gergely Nagy <algernon@balabit.hu>
Merge pull request #8 from algernon/f/gitignore-update

.gitignore: Add a few more autotools generated files
autogen: add script to run autoreconf.
builtins: Add support for variadic arguments to arith functions

This adds support for variadic arguments to PLUS, MINUS, TIMES, QUOTIENT
and REMAINDER. Tests were also modified to reflect the new behaviour,
and a few new cases were added to handle cases that were not possible
before.

This fixes #3.

Signed-off-by: Gergely Nagy <algernon@balabit.hu>
Merge pull request #9 from algernon/f/vararg-arithmetics

builtins: Add support for variadic arguments to arith functions
main.c: display error message when load_file fails

As suggested by palistov https://github.com/tcort/edgar/pull/4
obj: IS_INT() should be a pure boolean expression.

Part of the IS_INT() macro was of type int and not a boolean
expression. This is very minor, but `split` suggested fixing
it, so I will.
builtin: remove duplicate include statements.
number: add edgar_ prefix to times() and friends.

times() is a standard function and some static analysis tools
were confusing the builtin times() function with the library
function. To avoid the confusion, I added edgar_ to each function
in number.c
*.c: add config.h include.

It should be in every file just in case we need something from it.
Either way, it shouldn't hurt to have it there.
.travis.yml: add cppcheck to CI.

Do some additional static analysis for each commit.
Makefile.am: add -Wall -Wextra -O2 to CPPFLAGS.

We want as many warnings as possible, so we add -Wall -Wextra.
I've been told -O2 exposes some additional warnings, so I'm adding
that too. When the initial set of warnings is cleaned up, I'll add
-Werror and possible add additional flags.
number: avoid comparing signed with unsigned value
number: speed-up: don't call strlen() in a loop.

strlen() was being called every time the loop looped (assuming it
wasn't optimized by the compiler). This patch calls it once, stores
the length in a variable, and only checks against the variable.
obj: drop unused variables.
env: drop unused variable.
unittests: add usage info.
builtin: check params for NULL.

Adds some safety and also eliminates some warnings.
env: remove unused functions.
src: do cppcheck style suggestions.