Merge pull request #169 from zhang-jingwang/small_file

Small file
fixed the plfs: prefix condition for the core library, added a function is_plfs_path that determines if a path would be inside a plfs mount, and renamed is_plfs_file to is_container_file (while isolating it to container_internals.cpp)
temporary fix for the statvfs warning we often see when linking against plfs, would like to get #define HAVE_CONFIG_H working, so far no luck, Also redid is_plfs_path to return 1 if True, 0 otherwise
fixed a comment in plfs.h about is_plfs_path
plfs: defer data/index dropping creation

In open for write, don't create empty data and index files.
Only create them in the first write. Hostdir creation is also
deferred to the first write when possible.

A configurable is added in plfsrc to control the logic.
Add "lazy_droppings 0" to plfsrc to disable the feature.
Merge pull request #177 from bergwolf/container_empty_files_rebased

plfs: defer data/index dropping creation
Merge branch 'small_file' into small_file_fix_paths
Fixed use of uninitialized memory
removed config.h from plfs.h since we don't want it exposed on the api. The statvfs warning will come back, but I have a fix in mind for cmake
Merge pull request #193 from agtorre/master

Merging small file into master to tag 2.3.1rc1
added an extra header to LogMessage.h to make it compatible with gcc 4.7.2
Merge pull request #194 from agtorre/master

added an extra header to LogMessage.h to make it compatible with gcc 4.7.2
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.