Change the paradigm and provide polysquare_import_external_project

polysquare_import_external_project is a wrapper around ExternalProject_Add
which is much more useful. It effectively allows (in a platform and
generator agnostic way) libraries to be built as part of an external
project and imported into the current project.

The way that this works is that the external project is now downloaded
and configured as part of the configure stage. Exported targets are
both generated if necessary in the external project and then imported
into the current project.

Also removed polysquare_get_build_directory_suffix_for_generator
as this was a single generator-specific hack and was unportable. Importing
targets works much better.