bugfix to #136 and dealing with issue #138

Add tests and a bugfix for PR #136 that I found when writing the test. The start frame comparison was backwards.

```
-            start_frame = 0 if np.linalg.norm(x1 - x0) < 1e-8 else 1
+            start_frame = 1 if np.linalg.norm(x1 - x0) < 1e-8 else 0
```

Also add the `stack` method and address other issue #138