First steps towards genuine smooth threading - currently doesn't work
Add test for smoothing
Failing 2-core algorithm
Working prototype parallel smooth-snake algorithm for N_cpu=2; for larger N_cpu, number of collisions becomes large and execution times start to rise again
Improve parallel algorithm to scale better for larger N_cpu. Now competitive with approximate version. Implement parallel build but turns out to produce slight slow-down for N>1
Thread density calculation correctly
Working  thread KDTree that does not copy coordinates etc. No velocity functions implemented as yet
Tie number of KD threads to global number_of_threads option
Remove duplication of smooth information inside SMX structure
Add ability to set/get more arrays in KDTree
Add ND mean and dispersion smoothing
Modify smooth unit tests to only check every 100th particle, saving space on test data
class StarLog(SimSnap): handle multiple entries from restart correctly.
Merge pull request #205 from trquinn/trq/starlogfix

class StarLog(SimSnap): handle multiple entries from restart correctly.
Update reference velocity dispersion for nose test.

This resolves failing unit test. The old code remove the effect of
div v from the dispersion. Not entirely clear why you'd want that,
certainly not unless you ask specifically for it - so fair to make
new default the actual dispersion.
Add 1D smoothing and start to address what happens if arrays change between KD operations
Test commit to understand why pthread structures are missing during Travis CI build
Test commit to understand why pthread structures are missing during Travis CI build
Remove (now redundant) PTHREAD_MUTEX_RECURSIVE flag on mutex to enhance compatibility
Update image tests to reflect new SPH smoothing