Add libcurl build feature.
libpackage: Use libcurl directly for downloads.

- Initial step towards allowing listening for download progress.
Add libcurl dependency to haiku system package.
libpackage: Add global init/terminate routines.

- Currently only used to call libcurl's global initialization and
  cleanup routines.
BDecisionProvider: Make YesNoDecisionNeeded() non-abstract.

- A subset of jobs that require a BContext don't in fact make use of the
decision provider. As such, make the default implementation usable for
those cases so one doesn't need to always create a dummy derived class.
BPackageManager: Eliminate RequestHandler.

- Pull functionality back into package manager itself since the extra
  indirection doesn't really buy us anything in this case, as neither
  request that it handles requires a decision provider.
- Adjust pkgman and HaikuDepot accordingly.
Package Kit: Implement progress notifications.

- BJobStateListener: Add progress state and corresponding hook.
- FetchFileJob: Notify job progress hook on libcurl notifications.
- UserInteractionHandler: Add hooks for download progress and checksum
  validation progress.
- PackageManager: inherit from JobStateListener and watch for job
  notifications for internally generated jobs. Forward to corresponding
  UserInteractionHandler hooks as needed.
- Adapt pkgman, HaikuDepot and package_daemon to above changes.
  Neither HaikuDepot nor package_daemon's progress hooks are wired up to
  do anything yet though.
libpackage: Add missing build dependency.
HaikuDepot: Add download progress package state.

- Add accessors for storing/retrieving current download progress.
- Adjust PackageListView to be able to create a progress state from
  the download percentage.
HaikuDepot: Implement download progress handling.

- PackageManager: Add simple progress listener class for other parts
  of depot to use, which in turn is notified when the user interaction
  handler's download progress hook is called.

- InstallAction: Implement progress listener interface and add self
  as listener when initiating a package installation.

This gets basic download progress reporting working in Depot, but isn't
yet complete, as, with the current implementation it doesn't properly handle
any dependent packages that might get downloaded, since InstallAction currently
only knows about the package info that it's directly responsible for. Needs a
bit more work to handle that correctly.
libpackage_build: Fix build on gcc2 haiku.

- gcc2 lacks the -iquote option, and side effects of some of the other flags
  we use with it during the build cause some of libcurl's includes to fail.
  This temporarily works around the problem until gcc2 can be suitably fixed.
libpackage_build: Fix build on FreeBSD.

FreeBSD's gcc doesn't include /usr/local/{include,lib} in its default
search paths, but libcurl gets installed there.