replace uses of Shape rank Int with Index rank.

using type Index rank = Shape rank Int as shorthand to reduce boilerplate

Also added note regarding the nuance of an Address vs an Index and
why they are not treated the same for certain aspects of the APIs
First pass of cleanups to placate -Wall and prevent surprising bugs at some future point.

As part of this enabled -Wall with the default build. Will move to -Werror eventually
 (I'm looking at you vector!)