Add fallback constructor for similar() on ranges 

that takes a dims::(Integer...) argument. This allows similar to work on ranges where the return type on size() doesn't necessarily equal Dims::(Int...). Fixes #7709.