add IOD mlogfacs, and pull out plfs_init.

1. add four mlogfacs for IOD.
2. allow plfs_init to be called by IOD.

Signed-off-by: Liu Xuezhao <xuezhao.liu@emc.com>
readx/writex

This patch set is written for list IO in HPC.

patch set 9:
    include <sys/uio.h> in plfs.h.in, so APP can save it.

patch set 8:
    rebase to head of master @50dc7dd7ec548b0e009f19e928d74782acf4cddc

patch set 7:
    Don't write more data than total size of iovec in writex
    Don't merge readTask if they are not sequensial in memory

patch set 6:
    rename to container_free_or_cache_temporary_index

patch set 5:
    change WriteFile::writeIndex private
    rename container_disposal_index to container_free_temporary_index

patch set 4:
    refined based on John's comments following README.coding

patch set 2:
    replace ?: to std::min
    refined writex based on John's idea - one writev syscall only

patch set 3:
    refine readx to use thread pool

Change-Id: Ib7d564e4cee2d5bbabefb083a95df999593fda32
IOD PLFS interface

This patch set includes PLFS changes for IOD usage.

patch set 11:
    ignore ENOENT for rmdir

patch set 10:
    rebase to readx/writex patch set 9
    ignor EEXIST error for mkdir/rmdir in container mode

patch set 9:
    add a macro PLFSRC_PARSE_BUFSZ to drop some hard-coded values

patch set 8:
    change to plfs_query_shard API carrying a switch to retrieve
    back location info

patch set 7:
    rebased readx/writex patch set 7

patch set 6:
    change ssize_t to int in plfs_query_range.
    rebased readx/writex patch set 6

patch set 5:
    add some comments and revised valid range stashing logic

patch set 4:
    rebased readx/writex patch set 5

patch set 3:
    rebased readx/writex patch set 4

patch set 2:
    add plfs_query_range API

patch set 1:
    IOD and PLFS share one configration file. Two IOD options are added
    and PLFS will just ignore them.
    Priority: ENV(PLFSRC) > $HOME/.plfsrc > /etc/plfsrc

Change-Id: Ida63c2c6e93be57316e5034023a6fcd1e0eda278
add recursive supoort to plfs_rmdir

if user passes in a non-zero recursive flag, then remove directory and
its contents recursively.

patch set 3:
    revise unlinkop::op_r() to only operate on directory or container

patch set 2:
    rebased to current head of PLFS master @50dc7dd7ec548b0e009f19e928d74782acf4cddc

Change-Id: If1e3462108eee0355877c819a113b84d2bc8739b
fix a possible bug when merging tasks
Fix some compilation problems

Change-Id: I45ce8879ff99a39380c3ff7b894f0865578ce7f2
Rebase the readx and writex

Change-Id: I7ab833cb066fcf98a8334b6f05c823db469c2421
Add log facs for IOD

So that the users need not to run ./makefacs.pl themselves.

Change-Id: I0c26a9486e404d312a6437d7aff35869d36a01cb