Fix portability, memory and EOL problems

This pull request contains patches to fix problems found by clang, cppcheck and strict ISO C compilation:

- The C99 standard requires sources files to end in new-line characters.

- Some used functions are not defined by ISO C and, thus, affect portability. GNU libc allows special symbols to be defined in order to offer those functions despite this. This helps to let the source files be self-documenting regarding what portability requirements exist for them. Not too much to worry about this: gophd so far will compile in any GNU-based system.

- main.c had a call to strcat() that should have been strcpy(). Otherwise, memory would have been uninitialized.