Move InvalidRankException from Hydra.hpp to Exception.hpp
InvalidRankException: derive from out_of_range

Instead of runtime_error
Rename InvalidRankException to InvalidRank

To conform to our exception naming scheme.
Merge pull request #283 from gicmo/invalid_rank_rename

Rework InvalidRank exception
Updated Win32.md to reflect latest win8 adventures
Fixed CMakeLists.txt to work with win
Fixed missing include string in DataType
Moved function bodies of "convertTo*" functions from util.hpp to cpp
Fixed optional-obligatory-tests: base entities used wrong templates
Fixed TtoBool in optional-obligatory-tests to avoid warnings in win
Fixed missing "I" before template class names in optional-obligatory
Revoke changes on util.cpp & util.hpp
Removed NIXAPI aka "dllexport" from EntityWithSources for consistency
Added missing NIXAPI aka "dllexport" in validation code
Modified win32.md to reflect necessary changes to compile 64bit on win
Added missing #include <nix/Platform.hpp> in validation files
Fixed last problems in CMakeLists.txt to allow building on win
Fixed Win32.md with necessary steps to build on win8 & VS Express 2013
Tiny style fixes to Win32.md
Yet another tiny style fix to Win32.md