added detect-move ui tests
replaced .any tests with .toBeDefined

it wouldn't be clear to other coders why these tests would fail… they
don't fail in the 'expect' clause. Instead, they fail in the 'inject'
call itself. True, .toBeDefined is making the test more complex than it
needs to be, but it does serve better for documenting the final goal of
the tests.
refactored services. Promises explicitly shown

it's bad karma to leave promises in the shadows if your code doesn't
need the extra room. Someone could come along wondering if services
return promises or not. This makes it easier to tell.
added 'turn' to the ui models
starting tests for turn taking service
finished board tests for ui move service
finished first pass at ui $MakeMove tests