refactore static assert

- use BOOST_MPL_ASSERT_MSG to evaluate static conditions
- add PMACC_CASSERT_MSG_TYPE makro
- extend PMACC_STATIC_ASSERT_MSG to support `typeInfo` 
- remove some BOOST_ASSERT with PMACC_CASSERT_MSG
- move VillaBune static shape check from `currentConfig.unitless` to the solver