Ude 0644 mode for fetched packages.

It is generally no reason to set so strict permissions on fetched
files, set thus ordinary 0644 permissions by default (that can be
overrided by umask anyway).

Discussed with:	bapt
Add package removing function.

Add ability to remove a package from repository.

Packages can now be forced added to a repository by specifying
force flag. This is necessary to incremental update, as in some
circumstances we *want* to downgrade repository (for example,
a rollback to stable branch).
Add ability to load manifests from FILE.

Loading yaml from a file stream seems to be a good idea, as we
operate with files objects literally everywhere.

Validate packages loaded from manifests.

Use sbuf_len to assume that string is not of zero size.
More steps to incremental update.

Reorganize pkgdb_repo initializing functions to avoid mess with
pkgdb and pkgdb_repo function.

Small updates to pkgdb_it handling, however, the whole API should be
reconsidered to have pkgdb_repo_it as separate iterator type.

Incremental updates now can add or delete real packages but this
code is not tested yet.

Pkg repo code is updated accordingly.

TODO: implement pkgdb_repo_it.
TODO: test incremental updates.
TODO: reconsider pkgdb and pkgdb_repo functions once more and separate
repository functions completely.
Use (or fetch) bsd.pkgng.mk for FORCE_POST
Restore deleting of portupgrade's pkgdb after conversion
Fix tag reminder not working