doh! use the existing diffTree function

well turns out that there already was an existing diffTree function
pretty much identical (though more elegant code) to the one I wrote
so just using that but refactoring it out into its own file.
fix error mesg lookup, allow msgs from unknown codes
dont ship the prebuilt api file for

will re-create it once all current changes have been made.
fix cloning and add err mesg on null dir for 'ls'

cloning needs to creat .git before calling checkDirectory as the
first check it does it for presence of .git subdir. Also added err
callback if undefined/null dir is passed to file_utils.ls
convert crc32 into a AMD module