Have --make Recompile Modules when Dependencies Change

Fixes https://github.com/evancz/Elm/issues/395 .

In the process of doing this I majorly refactored Build.File in order to make the change easier and I also changed Build.Dependencies so I could check dependencies during --make.