Major performance improvements for message encoding/decoding

This patch contains the next set of performance improvements in message parsing, validation and string serialization.

Some of the performance gains:

1) Converting integers to strings: 46433420 => 66420504 (43.04%)
2) Serializing Heartbeat messages to strings: 2246054 => 2379656 (5.95%)
3) Serializing Heartbeat messages from strings: 699981 => 1232369 (76.06%)
4) Serializing Heartbeat messages from strings and validation: 601506 => 1107477 (84.12%)
5) Serializing NewOrderSingle messages to strings: 1700673 => 1799497 (5.81%)
6) Serializing NewOrderSingle messages from strings: 261563 => 450379 (72.19%)
7) Serializing NewOrderSingle messages from strings and validation: 228663 => 423900 (85.38%)
8) Serializing QuoteRequest messages to strings: 363674 => 467700 (28.60%)
9) Serializing QuoteRequest messages from strings: 31911 => 43786 (37.21%)
10) Serializing QuoteRequest messages from strings and validation: 28377 => 42513 (49.81%)
11) Validating NewOrderSingle messages with data dictionary: 457909 => 617698 (34.90%)
12) Validating QuoteRequest messages with data dictionary: 757839 => 937020 (23.64%)

Benchmarks were made using Core i7 4770, MSVC2010 x86, Windows 7 x64.