Fix computeCurrent Deadlock

- if one of the virtual blocks had no work to do
  (because of an empty frame) the __syncthread() operation
  could cause a deadlock
- computeCurrent kernel: every thread now fetches its own
  frame(s), this was shared over a virtual block with the
  first thread performing the frame load
- the new implementation avoids non-block-global __syncthreads()
  without early returns
moveAndMark frame fetch changed

every thread now fetches its own frame(s)
Merge pull request #359 from psychocoderHPC/fix-updateCurrent

computeCurrent syncthreads
add traits NumberofExchanges

traits return number of exchanges for a N dimensional simulation
use new trait NumberOfExchanges

- delete old numberOfNeighbors C array (because can't used at compiletime) in types.h
- use new NumberOfExhcanges traits
Merge pull request #362 from psychocoderHPC/topic-refactorNumberOfNeighbors

Topic refactor numberOfNeighbors
add delete particles for GUARD

- add new function to delete particles in GUARD where no neighbor is connected
- delete GUARD particles in TaskParticlesSendelete GUARD particles in TaskParticlesSendd
Merge pull request #360 from psychocoderHPC/topic-moveAndMarkPerThread

moveAndMark frame fetch changed
Avoid mkdir and allocs if disabled
Fix CMake warning

 - warning introduced through CMake v2.8.12-2
 - related to http://cmake.org/Bug/view.php?id=14441
Handle mpiInfo & cuda_memtest as external projects

 - projects were build as subdirectories. This now done through the
   ExternalProject module, which is available since CMake 2.8
add cuSTL/cursor/ documentation
rename deleteParticles()

rename deleteParticles() to deleteGuardParticles()
Merge pull request #364 from ax3l/fix-phaseSpaceDir

Avoid mkdir and allocs if disabled
Comment to trigger build
doc update
Merge pull request #363 from psychocoderHPC/topic-freeGuardFrames

delete particle frames in GUARD
Fix #165 Use Corrected CFL Criteria

A. Taflove & M. E. Brodwin
IEEE Trans. on Microwave Theory and Techniques, August 1975
Formula (7)
Show Optimal CFL in InitialiserController

- shows selected and minimum possible ratio for time step
- refactor to use log<picLog::PHYSICS> for standard sim
  output during startup
defragment memory during shiftParticles

- call fillGaps after every shiftParticles substep
- delete fillGaps call in Particles::update()