large number of changes: perlcritic, OOP

 * Changed namespace from "Watson" to "App::Watson"
 * Bitbucket and Github share more implementation
 * Introduced "perlcritic", fixed mst criticism
 * Renamed functions from camelCase to snake_case
simplified I/O mechanisms, removed tempfiles