FAST: Testing suite

This commit introduces a new FAST-related testing suite. The main
idea is to test FAST functionality against the predetermined set
of test cases. Each test case contains of a number of FAST messages
involving two parties: a FAST server and a FAST client respectively.
Each message must be handled in accordance to FAST specification
and any deviation from the expected behavior is to be considered
as a violence to specification and points to the libtrading
implementation error.

Below are details to current FAST testing suite realization:
* Each test case involves two counterparts: the server and the client
* Server is an active side. Client is a passive one. That is to say
the server sends to the client a number of predetermined messages
which are handled by the client in accordance to FAST specification
* Each test case should have its own file
* Each test case file serves for both template and messages specification
* Each test case file specifies no more than one template
* Here are the template specification rules:
 - The first line specifies the number of fields within subsequent
 FAST messages
 - For each field there is a line which specifies the field's every
 parameter: type, presence, operator, pmap bit and reset value
 - Consider a template specification example:
	1
	int,mandatory,none,0,1
 Which defines a message with a single mandatory field of type 'int'
 that has no operator associated and the reset value set to 1 (such a
 field does not have pmap bit associated - so 0 is set). If there is
 no a reset value - 'none' are to be used.
* Once template is defined, FAST messages have to be specified.
Each message is a single line with a set of values separated with
delimiters. If an optional field has no value 'none' should be
indicated.

Consider an example of a test case file:
1
int,mandatory,none,0,1
1
2
3

This test case file will result in the following messages flow:
* Server will send three subsequent FAST messages each containing
a single field of integer type.
* This field will be equal to 1 in the first FAST message, 2 in the
second and 3 in the third.
* The client will receive data from the server and compare them
with the expected values. In case of any errors it will exit abnormally.

Signed-off-by: Marat Stanichenko <mstanichenko@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
A sample FAST test case is included

Run a sample FAST test case under the Makefile's 'check' target.

Signed-off-by: Marat Stanichenko <mstanichenko@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>