ENH: dot product for DatasetArray and XArray

This provides an efficient and intelligent implementation of dot products
using dimension labels.