configure{,.ac}: Added CUDA toolkit detection

This adds the option `--with-cuda[=PATH]` to `configure`.  When the option
is omitted, CUDA is enabled automatically if a toolkit directory is found
(`--without-cuda` can be used to disable this behavior).

If the automatic-enable is not wanted, it can be disabled by changing
the line

  ENABLE_CUDA="auto"

to

  ENABLE_CUDA="no"

in configure.ac.
configure.ac:  moved CUDA detection script to a separate file `cuda.ac`

Also added some cleanups related CUDA-related variable names
HostCUDA.{cu,h}: removed extraneous executable bit from files.
cuda.ac: tweaks to a comment paragraph; don't deal with autoconf bugs
configure.ac: remove mostly-useless CUDA-related comment
HostCUDA.cu: use a macro to simplify host-memory allocation code.
HostCUDA.h: follow convention for "local" vs. <non-local> #includes
HostCUDA.h: replaced `boolean` enum with C++ `bool`

All C++ standards to date provide for promotion of a `bool` to an
integer, and all specify that `false` becomes 0 and `true` becomes 1,
so this should have no effect whatsoever on the compiled program.
Makefile.in: Makefile depends on Makefile.in

To regenerate Makefile, we use `config.status` (which re-runs `configure`
with all user-provided options).
cuda.ac, configure: disabled CUDA auto-enable
cuda.ac, configure: added/extended a couple of CUDA-related comments
configure{,.ac}, Makefile.in: added support for out-of-source builds