Unit tests

I'm using `Stack` in a small project; like it's simplicity, and thought I'd contribute the tests. 

This covers every feature of `stack` (every statement, branch and function, according to "istanbul" code coverage), and can also serve as an example for general usage as well as for the undocumented `Stack.compose` and `Stack.mount`.