gammaray: getting build system up to speed on Ubuntu 14.04

+ need AM_PROG_AR with -Wall and -Werror set
+ basically ignoring type punning issues pointed out by gcc in ext4.c
+ build dependencies magically worked before, they are more explicit and
  correct now
gray-crawler: simplified and abstracted file system crawling code

+ more generic probing and serialization
+ should be easy to add support for any file system in the future
    - implement `probe`, `serialize`, and `cleanup`
datastructures: adding bitarray support for self-serializing
gray-crawler: adding bitarray to core code

+ bitarray needs global knowledge from all file systems etc.
+ renamed partition_entry to more descriptive fsdata
+ added helper cleanup function upon error (deduplucating code)
gray-crawler: adding "present" variable to break fs checking logic

+ enables skipping of latter file systems once one has been detected
gray-crawler: refactored MBR code to have better code separation

+ added MBR serialization back to core gray-crawler code
datastructures: cleaned up build.mk, added libbson dependency
gray-crawler: finished ext4 refactoring
gray-crawler: refactored NTFS serialization code
gray-crawler: activating FAT32 partition support

+ MBR code should now recognize FAT32 partitions
Merge pull request #21 from cmusatyalab/refactor-crawler

Refactor crawler