Rename env.flags["depend"] -> env.flags["method"] for better clarity.

That flag represents the method used to resolve dependencies, more alternatively
the method of installing ports (via the build process, from a package or from a
repository).
Add and document the REPO stages and fix checksum, fetch stage skipping.

The checksum stage may also be skipped if at least one file has failed the
checksum check.
Move the Depend(ant|ency).get() method from using type to stage.

This change makes the get() methods accept either a stage (and return the ports
required for that stage) or, if no parameter is passed, return all the ports.

No part of the code currently uses the type (now stage) parameter so it has no
further impact on the code.
Do not consider env.flags["mode"] when marking a port as RESOLV.

This change moves the recursive mode logic to the builders without meddling
with the Port related objects.
Refactor the Builder._port_check() method and properly support "recursive" mode.

With the change to Dependent() Builder() now needs to handle "recursive" mode,
as such it needs to load all the dependencies directly.  Also, if the port is
not to be built at this stage then do not add it to the builder for the previous
stage.  This is a partial fix for 0.1.3.1-0 as build dependencies will not be
loaded, however it will load library and run dependencies.

Change the Builder._port_check() method to not have any side-affects.  Also,
due to the changes made to Dependent() there is no longer a need to issue a
port.dependent.status_changed().
Mark bug '0.1.3.1-0' as partial fixed, superseded by bug '0.1.5-0'.
Merge branch 'fix-0.1.3.1-0'
Remove the ability to force builds.

This functionality never seamed to add much value and complicates code.
Add option to change queue lengths.

The supported queues are 'attr', 'checksum', 'fetch', 'build', 'install' and
'package'.  The syntax is: [name]=[number](,[name]=[number])* where [name] is
the (partial) name of the queue and number is an integer.

For example:
 - fetch=3
 - fetc=3
 - f=3
are equivalent and valid.
Ensure that the load for a queue is strictly positive.
Update TODO, README and ChangeLog to reflect changes in 'option' branch.
Merge branch 'options'
Indicate which type of job 'job' is (i.e. cleanjob or portjob).

This makes the code more explicit and suppresses many pylint convention
warnings.
Update TODO to reflect changes made in 'builder-fixes' branch.
Merge branch 'builder-fixes'
Indicate which ports are explicitly loaded (via Port.explicit).
Switch to using Port.flags and accommodate port specific update.

Port.flags is introduced to supersede Port.explicit, and can supersede
Port.force.  It is also able to handle port specific upgrades, and can be
extended to support other constructs.
Add a Port.resolved() method to indicate if the port is "complete".

A port is "complete" if it has finished achieved the required install
status and it has resolves it's dependents.  If the port is not "complete" then
it needs to be (re)installed.

Adapt StageBuilder._port_check() and Dependency.check() to use the
Port.resolved() method.
Update TODO and ChangeLog to reflect changes in the 'depend-handler' branch.
Merge branch 'depend-handler'

Conflicts:
	ChangeLog
	libpb/builder.py
	portbuilder