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