Moved all optional-obligatory-test related code from 'util' to 'test'

Additionally modified "accepts_noneT" hack to require only addition of "ACCEPTS(methodName)" for any new method to be tested. The enum that is used for template specialization is now handled internally and does not have to be extended by coder.
Thus, if any new method is to be tested with "accepts_noneT" simply add anywhere in your code "ACCEPTS(methodName)" to namespace "test".