Add virtual destructor for IOSHandle and IOSDirHandle.

The destructor should be virtual so that when a base pointer is
deleted, the correct destructor can be called.
Add prefix to metalinks in order to compare them correctly.

According to line 832: prefix should be included in metalinks.
So when we get the content of the links, we should use exactly
the same way to construct the string 'tmp' as 'shadow'. Otherwise
the comparison is incorrect.
Add PLFS source code directory to the front of LDFLAGS.

Otherwise old plfs library in the system might break the build
process.
Merge pull request #195 from zhang-jingwang/master

Two small fixes for IOStore and metalink.