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
Initial commit of validation prototypes
Restructured header&source content,added Result << op, debugged all
Added msg prefixes, added error handling in conditions, extended tests
Simplified usage example in TestValidate
Simplified check structures to allow for better UX :)

Check now is not templated but also not derived: the check struct instances have no common parent. The drawbacks are obvious, but it makes all derived structures much simpler and cleaner to use, see test example.
Renaming types&functions,checks handle errors,validate takes init list

Several types & functions have been renamed. Checks now get the info whether an error occured and return boost tribool instead of bool, the third bool state being "error".
Thus the check decides whether to swallow the error or to return "error". The condition can then decide what to do if the check returned the error.
validate now takes init lists & vectors, but no variadic parameter lists.
Renamed namespace & subdir to "valid"