added index ranges; fixed Tensor copy constructor

added support for arbitrary index ranges, e.g. one could now do:
Tensor1<double> a(-1,+1); // index range goes from -1 to +1
for (int i = -1; i <= 1; ++i) {
    a(i) = f(i);
}

fixed copy constructor to copy Tensor from Tensor