configure: improve the prefix warning, and simplify some bits

It's better to compare prefixes than to check if $prefix/bin/mono binary
exists, because in the case of being inside a parallel mono environment[1],
it would warn the user about choosing /usr prefix if mono's prefix inside
this environment is not /usr (i.e.: /opt/mono).

Also, cleanup some variables:
* CANON_MONODIR not needed, as it's actually just Mono's prefix.
* No need to check both Mono's libdir and prefix via pkgconfig, as
these two variables have been both there in Mono's PC file for years [2],
and anyway the existance of $MONODIR/2.0/mscorlib.dll is checked later,
just in case.

[1] http://www.mono-project.com/Parallel_Mono_Environments
[2] https://github.com/mono/mono/commits/master/data/mono.pc.in
Merge pull request #157 from knocte/small_fixes

configure: improve the prefix warning, and simplify some bits
build: rename some build-time variables, for consistency

Before this change, the variables used for a build configured with the
prefix "/usr/local", and where Mono was installed in "/usr" were:

* $prefix               =>      /usr/local
* $libdir               =>      /usr/local/lib
* $monoprefix           =>      /usr
* $monorootdir          =>      /usr/lib
* $monodir              =>      /usr/lib/mono
* $monolibdir2          =>      /usr/lib/mono/2.0
* $monolibdir35         =>      /usr/lib/mono/3.5
* $monolibdir4          =>      /usr/lib/mono/4.0
* $monolibdir           =>      $monolibdir{2|35|4}

From now on, we'll have this naming which is a bit more consistent, and
allows to target the /mono/ subdirectory in the targeted prefix (as opposed
to the /mono/ directory in the prefix of the currently installed Mono):

* $prefix               =>      /usr/local
* $libdir               =>      /usr/local/lib
* $monoprefix           =>      /usr
* $monolibdir           =>      /usr/lib
* $monogacdir           =>      /usr/lib/mono
* $monogacdir20         =>      /usr/lib/mono/2.0
* $monogacdir35         =>      /usr/lib/mono/3.5
* $monogacdir40         =>      /usr/lib/mono/4.0
* $monogacdirXX         =>      $monogacdir{20|35|40}
* $gacdir               =>      /usr/local/lib/mono
* $gacdir20             =>      /usr/local/lib/mono/2.0
* $gacdir35             =>      /usr/local/lib/mono/3.5
* $gacdir40             =>      /usr/local/lib/mono/4.0
* $gacdirXX             =>      $gacdir{20|35|40}

This cleanup doesn't change behaviour, but improves the field, in
preparation for fixage of issue #154 "DESTDIR to be respected"
(next commit).
install: stop using current mono prefix to install, respect --prefix arg

Even if the $prefix arg seems completely wrong (as in, there is no mono
installation in that prefix):
- The scripts should respect it (because creating .deb packages involves
installing in sandboxed filesystem paths to extract only the relevant bits
installed by a tarball).
- Anyway there is already a warning printed by the configure.ac, just in
case who is compiling is a person instead of a buildbot.
- When compiling, proper mono libs of the existing current installation
will still be properly referenced, so building will still work.

This is done by using $gacdir variables instead of the $monogacdir ones
for the install Makefile targets (which reference /usr/local/lib/mono
instead of /usr/lib/mono, for the case of having mono installed in /usr
but choosing the /usr/local prefix).

This commit finishes DESTDIR support, to work outside of the box, for example
with a .deb package creator like fpm (see a sample script at
https://github.com/knocte/7digital-mono/blob/master/build-fsharp-package.bash ).
Merge pull request #159 from knocte/3.0.30

Proper DESTDIR support (very useful for making custom deb/rpm packages)
Fix build.bat on windows
Merge pull request #160 from ovatsus/master

Fix build.bat on windows
Fix build and installation on cygwin
fix build.bat
Partial fix for #163
remove incorrect installation directories
fix mistake in previous commit
Fix #172 - On Mono #I paths don't work for assembly references
Merge branch 'master' of https://github.com/ovatsus/fsharp into ovatsus-master

Conflicts:
	.gitattributes
Use Control-D for quit

On linux / unix based systems, control-D inserts an EOF which should be
read as quitting.
Merge pull request #174 from jpalmer/master

Use Control-D for quit
Merge branch 'master' into experimental.
Merge branch 'experimental' into optimized