Set compile command intelligently

Set the compile command using to something reasonable depending on the file and its environment. The behaviour is now:
* If a makefile exists, use `make -k`
* If we're using a special file (fsl, fsy), use the appropriate tool
* If we're in a directory tree that contains a .sln file, use `xbuild` or `msbuild` on the solution
* If we're in a directory tree that contains a .fsproj file, use `xbuild` or `msbuild` on the project.

You can test it out by opening a file seeing what comes up under `M-x compile`.