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 docco
validate port origins by making sure they are listed in
the SUBDIR variable in the category Makefile.

Fixes #408
Merge branch 'master' into docco