Implemented timeouts for transactions

The transaction map is scanned by default every ten seconds.
Transactions that are still in the map after a second scan are handled
by replying to the appropriate sender (broker/webapp) and removing them.

The transaction_min_timeout variable determines how long a transaction will be
left in the map in the "worst case"; i.e. transactions will stay there
for ~15 seconds on average, no longer than 20 seconds and no less than 10 seconds.

           Transaction is "incremented" at those points and removed the
Check     second time:↓
↓          ↓          ↓
|~~~~~~~~~~|~~~~~~~~~~|~~~~~~~~~~|~~~~~~~~~~|~~~~~~~~~~|~~~> (time)
   ↑
   Transaction is inserted