Allow to specify which file should be used to read the ABI
Implement --relocate for pkg add

Convert pkg add to getopts_long and implement a new --relocate argument
Rework, split and optimize repo functions.

pkg_repo.c - is a place for generic repo functions
pkg_repo_update.c - is a place for repo update code
pkg_repo_create.c - is a place for repo create functions

- All repo functions now have prefix `pkg_repo`.
- Doubly linked lists are used in repo create to speed up the process
Reduce warnings noise.
Merge branch 'master' into pkg-url
validate port origins by making sure they are listed in
the SUBDIR variable in the category Makefile.

Fixes #408
Merge branch 'master' into pkg-url