db.postgresql.lib: if PQsetdbLogin fails, PQfinish must be called
imap.tests: created connections needs to be disposed
Revert "calendar.format: change to use formatting instead of math.parser.private."

This reverts commit 3cfac7916a4d3708f231875ade0cd5e586ec43e6.
VM: try and recover with a kernel error from the callback heap running out
VM: "formalize" the callback_heaps object allocation using a
bump_allocator<code_block>

The advantage of doing it this way is that you can reuse the existing
each_object method to iterate all callbacks
VM: use a free_list_allocator for the callbacks, that way they can
individually be freed
VM: new primitive (callback-room) for querying the VM about memory usage

The word works exactly like (code-room) except it looks at the memory
usage in the callback heap instead of the code heap.
stack-checker.known-words: stack effect for <callback> is switched, it
should be ( word integer -- alien )
VM: new primitive free-callback which is able to free a callback
previously allocated using <callback>
alien: a test and docs for free-callback
stack-checker.alien: use free-callback as a destructor when creating
callbacks

+ tests proving it works. now in case you create temporary callbacks you
can enclose them in with-destructors and it will just work(tm).
alien,stack-checker.alien: move callback-destructor to the alien vocab

It can't be placed in stack-checker.alien because that vocab isn't
included in deployed images which lead to weird errors when the
destructors trigger.