matrix_matrix_binary uses restict_traits to identify the type of the
iterators. Thus an expression (dense - banded) gives packed_proxy_tag as
storage category. Shouldn't it give dense_proxy because the result is
essentially dense? This way we could possibly avoid a lot of overhead in the
assignment functions ...