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
Merge pull request #359 from psychocoderHPC/fix-updateCurrent

computeCurrent syncthreads
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