[Performance] Changed attribute set underlying representation.

Now attribute set is internally represented as vector of pairs. This change allows to keep attributes in single memory block, which is good for caching and performance.

On the other hand attribute lookup time by user attributes may increase, because they are scanned using linear search. Also I don't see any need for handling duplicates.

There are two attributes sets in every record: internal and external. Internal attributes is setting by logger itself: message, severity, timestamp, pid, tid or lwp. All attributes that is configured via scoped sets or wrappers - are external. This distribution allows me in the future to map each internal attribute with its unique number to perform even more faster table lookup.
[Detail] Temporary suppress thread benchmarking.
[Detail] Temporarily disable 'tracebit' checking.
[Unit Testing] Make all tests pass.
[API] Drop global logger attribute set.

This is breaking change.

After half year of user experience I've realized that nobody uses logging-attached attributes. The main reason of it - because of Wrappers. You can create logger wrapper, attach some attributes and work with it without copying underlying logger resources like file descriptors or sockets.
As a result - you can have only one logger for application, but with multiple wrappers. This is a big advantage.
[GCC 4.4] Make it compatible with GCC 4.4.

Lambdas were replaced by functional object.
[Detail] Minor refactoring.

Replaced defaultly-constructed boost optional with none value.