Initial refactor.

Due to the many flaws in the code pointed out by others, the following
changes are made:
- start counting from zero when pushing onto the stack
- postincrement stack pointer on push, predecrement stack
  pointer on pop.
Fix path to shared object in target `uninstall'.
Do not automatically double buffer size.

Automatically doubling the buffer size when appending a new
ChunkAllocator invites integer overflows.
Factor duplicate flags into a `make' variable.
Update documentation and comments.