its not needed because OS is responsible to cleanup
mem allocated by terminating process, but its still
a good manner to explicitly free everything that gets
allocated...
yes this is "noise" if it terminates but neither does
harm to feel being responsible to clean up everything
ourselves. :)
at least valgrind is silently happy :P :D
- therefor if the program gets extended, its unlikly that
someone will forget to call free()
- also this gets rid of copy-paste free() calls (which look stupid)
- adding missing free() calls
- dont malloc ourselves as getline() also does a malloc
(and anyway called realloc before if the size_t was
smaller then the actual len(input-line) to behaviour
is the same!)