Bump base to 4.16
GHC 9.0 will be released with base-4.15, and the branch has been cut. So it's time we bump base to 4.16 in HEAD.
This is needed to make progress in !3598, as it needs to tell apart the base version in HEAD and the latest released base version using a CPP conditional. Currently it uses these lines:
#if MIN_VERSION_base(4,15,0)
#define HAS_TYPELITS_CHAR
#endif
But they will break as soon as GHC 9.0 is released.
Of course, the problem with bumping the base version is that it also requires relaxing upper bounds in so many submodules. So let's do it separately from !3598