Download*File rules: add optional source target

If specified the path to the source target can be used in the URL via
"$source".
Add rule ChecksumFileSHA256
Add build tool create_repository_config

Given a repository base URL and a repository info, it creates a
repository config file.
Adjust to changed HaikuPorts repository layout

The package kit actually requires the files "repo", "repo.info",
"repo.sha256" to be located under the repository base URL, so the
approach to name the repository file "repo-<hash>" doesn't work.
Now there's a directory "<hash>" which contains the files.

This commit moves the computation of the hash and downloading the
repository file from the build_haiku_image script to the jam build
system. The repo.info is also downloaded and a repository config file
is generated.
Copy repository config files to the image

... to common/settings/package-repositories. This way the used
repositories are already known to pkgman.
configure: fix sha256sum/sha256 checks
package_daemon: create the administrative dir when mounted
Change repository directory layout

* Under the base URL there are supposed to be the repository files and a
  subdirectory "packages".
* Fix the repository URL related confusion introduced earlier. The URL
in
  the repository info (and thus in the repository file) is supposed to
  be the base URL for the repository. It is not a (potentially)
  different base URL for the package files. Package and repository
  files were supposed to live in the same directory. Now, by requiring
  the package files to live in a subdirectory -- which can also be a
  symlink -- we gain some flexibility.
  The URL in the repository config is usually the same as the in the
  repository info, unless it refers to a mirror site. This allows for
  mirrors to copy the original repository verbatim.
* Remove the PackageURL rule and introduce a DownloadPackage rule
  instead. The URL for a package file cannot be computed in the jam
  parsing phase anymore, as it contains the hash value of the package
  list.
* BRepositoryConfig: Add PackagesURL() for convenience.
Add some more packages to the HaikuPorts repository
Move image definition jamfiles to build/jam/images
Remove OptionLibPackages
Remove more optional package related left-overs
Move common image building code to HaikuImageCommon
Move common image building code to HaikuImageCommon
Beginnings of support for building a bootstrap Haiku image

Copy:
* packages: Haiku -> HaikuBootstrap
* images: HaikuImage -> HaikuImageBootstrap
... and remove some unncessary content.

Setting the jam variable HAIKU_BOOTSTRAP_BUILD enables using the
bootstrap files.
ReleaseBuildProfiles -> Default*, add bootstrap profiles
Move package info pre-processing to jam build system

Also, pre-process all package infos (not only the generic ones) and
define the macro HAIKU_BOOTSTRAP_BUILD, if building a package for a
bootstrap image.
haiku package info: drop some requires in bootstrap mode
Merge remote-tracking branch 'haiku/master' into package-management

Conflicts:
	build/jam/HaikuImage
	build/jam/OptionalPackageDependencies
	build/jam/OptionalPackages
	build/scripts/build_cross_tools_gcc4
	src/add-ons/translators/icns/Jamfile
	src/add-ons/translators/jpeg/Jamfile
Debugger: ElfFile::_CheckRange(): fix check