Further cleanup, add command line parser and massively improved Makefile

- Makefile now has proper header file dependency generation and dist target
- Command line parser with -h to provide online help
- Use system ftp user's home directory as FTP root, or fallback to /srv/ftp
- Use system defined ftp/tcp port from /etc/services
- Fix path composer to handle_RETR(), extra slashes removed
- Remove "struct context", use global variables for common daemon settings

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
Chroot, drop privs, fix CWD and remove pthreads

- Use fork() instead of pthread for client session
- Chroot to FTP root/home directory
- Drop privileges if ftp user exists
- Refactor handle_CWD() and cwd in all functions to use chdir()
- Refactor handle_LIST() to use readdir(), /bin/ls not in the chroot
- Refactor handle_RERT(), doesn't need to use separate pthread either
- Handle case when chroot() fails, non-privileged user runs
- Handle walking up to parent attack on CWD, RETR, STORE and SIZE

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>