refactore static assert

- use BOOST_MPL_ASSERT_MSG to evaluate static conditions
- add PMACC_CASSERT_TYPE_MSG makro
- extend PMACC_STATIC_ASSERT_MSG to support `typeInfo` 
- remove some BOOST_ASSERT with PMACC_CASSERT_MSG