Vector: Added support for resizing a vector<T> object with copy if it has zero size.

The following is now legitimate:
  std::vector<T> x(N);
  viennacl::vector<T> vcl_x;
  viennacl::copy(x, vcl_x);
and resizes the ViennaCL vector accordingly (in the default context).
A similar support for the iterator interface is not possible without substantial refactoring.