Purpose:

    Use a MBX mailbox to send messages from multiple writer() tasks to a 
single reader() task.

Design:

    In this example, the mailbox, reader task, and three writer tasks are 
created by the Configuration Tool. This example is similar to the semaphore
example. The major differences are:
  - MBX is used in place of QUE and SEM.
  - the 'elem' field is removed from MsgObj.
  - reader() task is *not* higher priority than writer task.
  - reader() looks at return value from MBX_pend() for timeout

Expected output:

0   (0) writing 'a' ...
1   (0) writing 'b' ...
2   read 'a' from (0).
3   read 'b' from (0).
4   (0) writing 'c' ...
5   writer (0) done.
6   (1) writing 'a' ...
7   read 'c' from (0).
8   read 'a' from (1).
9   (2) writing 'a' ...
10   (1) writing 'b' ...
11   read 'a' from (2).
12   read 'b' from (1).
13   (2) writing 'b' ...
14   (1) writing 'c' ...
15   writer (1) done.
16   read 'b' from (2).
17   read 'c' from (1).
18   (2) writing 'c' ...
19   writer (2) done.
20   read 'c' from (2).
21   timeout expired for MBX_pend()
22   reader done.

   Notice that the line showing "timeout expired for MBX_pend()"
is expected. 

