Allow adding project-specific install targets

If a project needs to install something that is very specific and not
in the general build, it can use this hook to setup additional targets.
Show how to install CMake macros together with code

Currently this is disabled because no other project needs them (they
have their own copy in the source tree)
Use OPM_MACROS_ROOT to locate build scripts

By using a separate variable for this we can easily grep for where
the build system depends on its own location, and also change the
policy regarding this later.

Note that there is no opm-macros module; this is a "psuedo"-module
which links to an additional one (currently, the one we're in)
Add a small bootstrapper to locate build system

Currently this bootstrapper only finds the macros that are located
in the cmake/ tree in this project. Projects that don't carry their
own build system can specify search locations here.
Allow source location to be overridden

By default the configure script assumes that the source is located
relative to the script itself. By allowing this to be overridden, the
script can be shared by other projects, each passing their own location
as an extra parameter.
Search for directory containing build scripts

Currently only the source tree is "searched", but the template could
be expanded to look in another/more locations (or be specified
explicitly on the command-line with a --with-opm-macros= option)
Merge pull request #320 from rolk/320_build

Put in hooks to change build directory later