Create ASingleElementVector abstract base class
Make diagonal matrices return ASingleElementVector for rows / columns
tidy warnings