Makefile fix

Incorrect variable name used in the debug makem meant debug flags
weren't passed.
Allow input from stdin

This is a reasonable improvement such that rather than having to
pass your equation as an argument, if you pass no args you will
be given a lovely prompt which will accept your equation.

This avoids ugly hacks (character substitution) and having to wrap
your equation in quotation marks when your passing funky characters
like "(" and "*" - enjoy :)
Fix memory management in the implementation of 4715485

Tracing with valgrind showed a couple of issues, this introduces a
more robust mechanism for string reading and management that could
be reused elsewhere
Prevent strtold from wrongfully capturing operations

If you passed in an equation with no spaces (e.g. "2+2") strtold
would capture the "+" as an indication of the sign of the second
number and so hence only two NUM tokens were lexed.
The new logic here assumes that if a + or - preceeds and follows a
number, then it is probably an operation.
Revert ce14c65

Yes it's superflous as only predefined operations are checked for
in the first place, but without it the compiler constantly throws
a warning as it's possible for no return value to be provided and
provding any other return/making one of the operations "default"
just doesn't make sense....