close #588

fix bug #588 error message in boost 1.56.0+

- add new trait `Resolve<T>` in PMacc 
- change `alias`: remove inherit
- use new trait `Resolve<T>` to handle incomplete types
does it only work with aliases or is that just an example?

Is it more like:
```quote
Explicitly resolve the type of a <whatever>, e.g., resolve the type of an PMacc alias.
```