Restore copy ctor and copy assignment to compile with g++-4.6
Make fd an object instead of reference.