Link the same file if the content hasn’t changed from the previous build

Some broccoli libraries, like broccoli-caching-writer, consider the mtimes of files to determine if a tree has changed and whether they need to execute potentially expensive compilation, or whether they can just use their cache.

This commit make broccoli-concat play well with those libraries, by taking an MD5 of the concatenated content after concatenation and comparing it to the
MD5 take in the previous build. If they match, the cached file is used.

By @lukemelia & @raycohen with advice from @rwjblue