[WIP] Add XFS Filesystem Support

The following portions of the XFS code have been (at least partially) tested:
1) Superblocks
2) Allocation Groups
3) Inodes
4) Directories, including:
5) ShortForm Directory Headers and Entries
6) Single Extent Directory Headers and Entries

There is additional code in this PR that is being checked in but has not yet
been validated.  Ignore for now please.

@roliveri @Fryguy @chessbyte please review at your convenience.
@jerryk55 This will work on ruby 2.0, but the this null character string will be encoded as UTF-8.  If you have other binary string literal strings you will be adding to this or other ruby scripts, you can add a `#encoding US-ASCII` to the top of the script to avoid having your strings encoded as UTF-8.  Or, you can add `.force_encoding("ASCII-8BIT")` to any binary strings to keep them binary.  Both are ruby 1.9.3/2.0.0 compatible.

This is mostly an issue when you have strings that can't be encoded as UTF-8.  

See #589