Fix a number of stylistic issues in etc.linux.memoryerror.

* Made the registration functions public.
* Moved all public stuff to the top of the file to avoid mistakes like this again.
* Added `else` -> `static assert(false);` branch to the version forest.
* Marked the module `nothrow`.
* Fixed some minor code style issues.

This makes the module actually usable.