aft assumed a range by default, and options. Fixes #72.

aft assumes that it should now start from the max number of allocations
allowed, and go down to 0 allocations. This means that running aft on sanity
takes a lot less time.

Additionally, aft now takes -f for a file, -s for a string, and -m for a
single pass with a given max.

I also found a bug in aft: It wasn't considering having non-zero warnings as
being a failure condition. I've found a couple of issues in the interpreter
by fixing this and also running the new aft under valgrind.

Blastmaster no longer does a pass over sanity (that can now be done by just
directly running aft over sanity).
Fix two potential invalid reads. Thanks aft. :)