This patch change lots of thing:
1. fd only use for the *opening* files, so now we use the minimal idle fd instead of using hash.
2. add the *read* test for client.
3. for client, now use operation 'O' for creating file, 'o' for opening file.