Preserve order of syslib directives in config file.

This change ensures that the syslib directives are placed in Boboptions
in the same order as they appear in the config file. This order controls
the order in which system libraries are linked with.
Fix compile error "temporary can't be an lvalue/ref"
Build bob in current directory
Add '()' to function call invocations to make it build with dmd -property
Style: put spaces around '..', e.g., [1 .. $]
Use tid.send(...) rather than send(tid, ...)
Added reproduction for 9122.
Workarounds for bug 1922.
Added support for specifying system include/import directories as well as files.
Merge branch 'my-work' of https://github.com/bagnose/bob

Conflicts:
	bob.d
Got the new process module working.

The problem was that any attempt to allocate memory in the child
of a fork() deadlocks, so the toArgz() and toStringz() calls had
to be moved to before the fork().

Also did a bit of cleaning up.
Fixed a bug in static library creation.

Static library headers are now added as dependencies but not
as inputs. This solves the problems of:
* Headers being put into .a files along with the .o files.
* The headers being deleted if there is a failure to build
  the .a file.
Reworked dependency implications of includes.

Major rework of how includes are handled to make them
more correct. In summary:

Static libraries no longer depend on each other.

Includes are now grocked AFTER all down-stream includes have been
discovered.

Direct and transitive includes now add dependencies to everything
that depends on the includer.

Binary.includeAdded() now just remembers when libraries are needed,
leaving adding of dependencies till augmentAction().

Note that this hasn't been adequately tested as yet. The next move is
to increase the size of the example to improve test coverage.
Minor bug-fix with required libraries, and some cleaning up of the example.
Added public-lib rule.

A public-lib is a static-lib except that:

* It is placed into dist/lib instead of obj.

* All its public source files are copied into dist/include.

* Any includes/imports those public sources make must also be
  public sources of public-libs.

The point of this is to put all the files necessary for a binary
development distribution of your project into the dist directory.