Util additions 1

Tools needed for implementation of the optional-obligatory test to come
Util additions 2

Changed strToNum to use boost::lexical_cast which should be more powerful
Optional VS Obligatory tests & necessary utils

New optional vs obligatory test classes & methods have been implemented: each attribute of simple "attribute(..)"-pattern is tested whether it behaves in line with agreed optional / obligatory attribute behaviour.
I.e.: an optional attribute must return either a vector, entity or boost::optional _and_ have a none_t-deleter overload - an obligatory attribute must _not_ return boost::optional and must _not_ have a none_t-deleter overload.
A brief summary is shown for all attributes - if an attribute is neither optional nor obligatory the test fails and the summary expands with details.
Not yet tested attributes are all those of more complex "getAttribute", "deleteAttribute", ... patterns - they require far simpler tests.
Merge branch 'opt_obl_tester' of github.com:/balint42/pandora into opt_obl_tester

Conflicts:
	include/nix/util/util.hpp
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".
Merge branch 'master' into opt_obl_tester

Conflicts:
	test/Runner.cpp
Fixed a single tab :)
Updated code to work with "Representation"->"Feature" renaming.
Changes to avoid "unreachable code" warnings

The "?" operator in the relevant line is now being implemented using "std::conditional" & "std::integral_type"
Merge pull request #208 from balint42/opt_obl_tester

Optional Obligatory tester

LGTM