check_remote(): Add support to packed refs database.

check_remote() did not handle git packed refs database. That made
fetch_packages() to always fetch packages even if we already had
them fetched.

Supporting packed refs database fixes this problem.
Parallelize fetching, checking out, cloning.

Parallelize fetching, checking out, cloning using multiprocessing
module.

By default use number of parallel processes equal to number of
system CPUs (use old value, 4, as fallback).

Also replace thread based ThreadFetch() with the same multiprocessing
mechanism as above for consistency.
Add --newpkgs/--nonewpkgs to pull command.

Allow 'git pld pull --newpkgs' to also fetch and pull new packages. Off
by default.
Make updateall off by default.

Turn updateall to off by default so 'git pld pull' will only checkout
packages that were fetched at this session. If you want old behaviour
use 'git pld pull --all'.