CMakeLists.txt: build target name conflict resolved

The build target `nix` was conflicting with the cli tool name which was
also `nix`.
NamedEntityHDF5: conflict `boost::none` vs. `nix::none`
validate.cpp: overload for base class validation

The overload was causing some problems with MSVC and was therefore
avoided.
PropertyHDF5: conflict `boost::none` vs `nix::none`

MSVC does not like this
Tests: avoid creation of NDSize with implicit ctor

For some reason MSVC does not like the implicit conversion from
initializer list to NDSize therefore the constructor is now used
explicitely.
operator<<: export operator to public nix api
checks: export to public api for testing
validator.hpp: fix include guards
CMakeLists.txt: names for library and cli tool

Changed the name again for the nix library and the command line tool:

- library to nix
- tool to nix-tool
Merge pull request #333 from stoewer/master

Windows: fix a couple of issues for build with MSVC

Ok.