Updated Board tests (coverage/promises/BDD)

The boards test has now been upgraded to fully use Promises at every
step. It also now uses chai and BDD testing instead of TDD testing with
asserts. Each test is now atomic and are not reliant on any other test.

The tests in general cover more of the code than before but is still not
at 100% yet.