Replaced debug.Stack with runtime.Stack. Added two new options to recover.

I noticed runtime.debug.Stack was deprecated, so I replaced it with the recommended runtime.Stack. Along with the new new implementation, a few options emerged. StackAll would be useful if you needed a dump of the entire app, and if you dumped the app (every goroutine) you are going to need a pretty big byte slice to hold the data.. hence the StackSize option.