Migrated insert and remove back to composite design
All statements back to composite design

The point is that even though the CRTP code looked nice, it was too hard
to comprehend.
Removed the dreaded crtp_wrapper and the policy_wrapper
Added several checks for correct types in insert columns/values
Added a bunch of static asserts to prevent misuse of insert and update

There are quite a few more to be inserted
Added table sets to several more expressions
Made wrong_t<...> a true std::false_type again.

I am sure this would shoot me in the foot some day otherwise
Fixed a bunch of small errors and shorted compile error messages
Merge branch 'feature/crtp-to-composition-for-statements' into develop
Simplified syntax for multi_columns a lot

Instead of

multi_column(alias, columns...)

it is now

multi_column(columns...).as(alias)

Also, you can now write:

all_of(table).as(alias)