add new functions

A new, much cleaner pull request, since I had no idea how to resolve the merge conflicts.

New options are:
 * --delete-rpath
 * --print-rpath-type
 * --convert-rpath
 * --print-needed
 * --print-all
 * --backup
 * --full-debug
 * --disable-gold-support
 * --help (refers to the manpage)

API/Behavior changes:
 * Environment variable `PATCHELF_DEBUG` removed, since it didn't work the way it was supposed to (debug mode was activated if `PATCHELF_DEBUG` was set to anything). Use `--debug` / `-d` instead.
 * Uses `<getopt.h>`, including short options.
 * For technical reasons `--replace-needed <lib1> <lib2>` has changed to `--replace-needed <lib1>,<lib2>`
 * `--set-soname` creates a new entry, if there is no DT_SONAME entry

You might also want to add the following to configure.ac:
```
# Checks for programs.
AC_CHECK_PROG(STRIP, strip, [$(which strip) --verbose])
AC_CHECK_PROG(MD5SUM, md5sum, [$(which md5sum)])  # used for tests/backup.sh
AC_CHECK_PROG(MD5, md5, [$(which md5)])
```
```
# Checks for header files.
AC_CHECK_HEADERS([elf.h fcntl.h getopt.h limits.h stdlib.h string.h unistd.h], [], [exit 1], [])
```