Required by #187.
The version we were using is old enough that it doesn't work with the
latest stackage LTS. haskellstack.org says
There is also a Ubuntu package for Ubuntu 16.10 and up, but the
distribution's Stack version lags behind, ...
So, instead of asking them to update it, it's probably better to
download the tar of the version we want.
Somehow updating stack surfaced a new pedantic warning in GradientTest,
so I've fixed that as well.
All of the non-s/1.3/1.7/ changes are because
* There are new tensorflow datatypes
* Some ops have looser types (e.g. fill now accepts both int64 and int32)
* There are more ops of type "func"
* Tested on linux without Docker.
* Couldn't get nix build to work, so I just updated the URL and hash.
* Did not test macos build.
The mnist change was necessary because the argmax output type is now polmorphic.