It seems pretty typical to build in a build directory at the top level
of the repo.
In particular, that's what travis does:
`cmake . -Bbuild`
`cmake --build build`
Add build directory to .gitignore to avoid comitting it accidentally.
* Nest "gsl" directory inside a new "include" directory.
* Cleanup the _MSC_VER conditionals a bit; use constexpr on VS2017+.
* Don't #define noexcept on non-Microsoft implementations.
* Workaround VS2017 bug in multi_span. (Also implement == and != for static_bounds_dynamic_range_t because I'm an EoP semantic soundness snob.)
Fixes#441.