Fix #92 Replace Collections.synchronizedMap() with ConcurrentHashMap in BTraceRuntime

Also, ArrayBlockingQueue seems to be a better choice than LinkedBlockingQueue for the communication pipeline
Fix #93 - FileClient issues flush() after each single data command store

The solution is to add a flush timer which will flush the stream periodically.

By default the flush will be performed each 5 seconds but this interval is configurable via com.sun.btrace.FileClient.flush system property.