Restrict automatic comparability detection to non template types or registered template types

Because SFINAE does not do the full instantiation of types
comparable<vector<NonComparable>> was resulting in true, leading
to compilation failures

With the new scheme template class rules can selectively be added