Add device_vector::operator=(const host_vector &) (and vice versa) to
eliminate unintentional temporary copies during assignment.

Reported by Shiyin Kang

Fixes #325
Merge pull request #326 from jaredhoberock/issue-325

Add device_vector::operator=(const host_vector &) (and vice versa) to