Trait checking

The TICK_TRAIT_CHECK macro will statically assert the list of traits that are true but it will show what traits failed including base traits. This can be useful to show more informative messages about why a trait is false.