Working implementation of an MD5 check.

We generate a manifest which maps a file path to an MD5 hash. If, on a
second run of `middleman build`, we find that we have a matching MD5
hash at the given origin path, we skip the processing. This effectively
makes subsequent run deltas and makes processing much faster for large
sites.