Unit test infrastructure
Unit test infrastructure

Rework unit test infrastructure to enable target applications to run unit tests.
Unit tests were split up into individual files enabling applications to select individual tests across subsystems. Unit test case macros updated to allow
initialization and pre/post callbackas on a per-testcase basis. Test suite macros
updated to allow pre/post, pass/fail callbacks on individual testcases in
the suite as well as initialization and completion callbacks for the suite.
The intention is that enable customization of test suites for target devices.

Partial checkin for MYNEWT-139 and MYNEWT-41.

X-Original-Commit: 75101ba4f3e9416602ca1ea2344d92c6a0ce3fea

apache/mynewt-nimble,apache/mynewt-nimble,apache/mynewt-nimble,apache/mynewt-nimble,apache/mynewt-nimble