[cleanup] Major house cleaning in Map.opa.

Rudy should be happy. I moved all implementation code into
Map_private, as per his comment ("all implementations should
go in Map_private").

I also normalized the indentation and made most of the
source code fit 80-columns as per CONTRIBUTING.md (I left
only one or two spots where readability would suffer a lot
from adding a newline).

I documented some functions which previously weren't
documented. There are quite a few more in here that could
use documenting still.

I tried very hard not to change any implementations. This is
intended to be a purely aesthetic and organizational patch.
The two cases I can think this would change functionality
are:

1. Many functions which used to be directly implemented in
Map_make are now implemented in Map_private, with a call
from Map_make. The only issue I can think of here would be
performance-related due to an additional function call.

2. I could have made a mistake.

I have done minimal testing (ran opatetris). Unit tests
would make me more comfortable but I didn't find any.