Separate StackWatch out into it's own module

In the interest in small modules that have a matching unit test file.

Part of blueprint decouple-nested
Change-Id: Ia40310007113b1111883a20db99cb7f754ae43bf
Merge "Separate StackWatch out into it's own module"