Axe samplemanager's from-scratch seed logic and replace with ptx2's.

This gives us:
 - nparticle support
 - seed mask support
Which constitute the primary use cases for this software.

Conflicts:
	Makefile
Remove seedmasks to keep us out of dependency hell
Added anisotropic constraint option
Added disabling of F containers if aniso not specified. Seems to hang on steve's system.
removed unused source code in master branch (leave it in other branches)
Included min step count support for summing kernel
Added containers, values for starting dual direction support. Kernel needs more work.
First fully working (with waypoint + exclusion masks) implementation. Danny Kim approved.
Revert "removed unused source code in master branch (leave it in other branches)"

This reverts commit 6d8adc399ffd749553118b7c82e7ce64215c204b.
Use lockless fifo 'pop' algorithm.
Use cl::NullRange on interpolation kernel.

Allows implementation to choose local size.  Results in ~30x improvement on
interpolation kernel speed.  Overall 2x improvement.

See link for details.

http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueNDRangeKernel.html
Use cl::NullRange for summing kernel, and fix a bug preventing its use.

This creates a further 1.5x reduction in tracking time.  Combined with the
previous commit, a 24 second test now takes 8 seconds.
Revert "Use lockless fifo 'pop' algorithm."

This reverts commit 009fb7967902106843f25803680fd72355b041fa.
Split RunKernel in two to improve profiling.
Exit cleanly if no opencl devices
Make FIFO block instead of die
Make samplemanager a regular, rather than singleton object.
Move particle generation out of samplemanager.

This will help make it async, ensuring no accesses to things we shouldn't be
accessing.
Clean up timing code in main
Make samplemanager less verbose