Added possibility for callback function to cancel updating source file.

Solution to #26. The check for update uses the callback return value and !== false for backwards compatibility. A callback return value of true could also work, but it seems more dangerous.