ENH: Bring Series.dot up to par with DataFrame.dot

If second argument is Series or DataFrame, ensures alignment of indices.
If second argument is some type of ndarray, just fall back to np.dot on the values.
This mirrors the behavior in DataFrame.dot

Includes unittest