Adding parallel and distributed file system interface

This adds in the user facing interface for exposing parallelism in a parallel/distributed file system in a meaningful way to the user. It also adds in the runtime bindings and the plumbing for Lustre and other such parallel and distributed file systems and implements it for the HDFS plugin.

@mppf said he would review.

[Note: This is a revised pull request that fixes whitespace changes]
I think changing it to sys_lustre_get_stripe_size is fine. (I'll update according for the future). For the second comment, sadly, the only function that I have been able to find that will provide the stripe size for a file is one that uses the path (llapi_file_get_stripe).