remove ThisType from all identifier types

remove `ThisType` (know available with the trait `Resolve<T>`)
use trait `Resolve<T>` instead of ::ThisType

use new trait `Resolve<T>` to get the type out of an alias
add new particle attribute `chargeState`

add particle attribute `chargeState` to support future ionization
change trait getCharge

- change interface of getCharge
- getCharge use chargeState if it is set for the given species
change unitless

- change definition of getCharge
add documentation
use new `getCharge()` trait

use the new `getCharge()` trait method to calculate the charge
Update PNGwriter Path

- now uses an official GitHub Repo
Boost compatible 1.49+

thanks to the patch provided in #593
OpenMPI: Require as libSplash 1.5.1+

and add hint about GPU aware MPI versions, see bug #438
Contributions: One-Feature-Per-Pull-Request
Fix Typo, thx @PrometheusPI
Merge pull request #601 from ax3l/doc-oneFeatureAtATime

Contributions: One-Feature-Per-Pull-Request
rename trait `getCharge(...,particle)`

- rename the trait `getCharge(...,particle)` in `getAttrCharge(...,particle)`
- fix all dependencies
fix race condition

- fix race condition that field background is removed parallel to the particle pusher
- fix race condition that field update `update_beforeCurrent` run in parallel to the particle pusher
Add Alex Debus, Add PhD's

- Dr./PhD: either one or none
Merge pull request #605 from ax3l/doc-addDevDebus

Add Alex Debus, Add PhD's
Merge pull request #604 from psychocoderHPC/fix-backgroundFieldRacecondition

Fix Race Condition: Field Update and Pusher
move GetCharge and GetMass to `picongpu/traits`

- add frame and attribute folder in `picongpu/include/traits/`
- add namespace `picongpu::tarits::frame`
- add namespace `picongpu::traits::attribute`
- move `getCharge` traits to `tarits::frame` and `traits::attribute`
use new traits `getCharge`and `getMass`

- fix all dependencies to the trait definitions of `getCharge` and `getMass`