Complete implementation of the EventStore (#341)

The EventStore is a service that allows to store and query all node outputs and events of reservations. It logs all events that happen in relation to a reservation during the reservation runtime such as flash, reset request and responses, devices being attached/detached and node outputs. This way, experiments can be "played back" and examined in detail after their execution, not only with regards to outputs but also with regards to other events that might have had side effects on the experiment.

Squashed commit of the following:

commit a73a922664181964ffca7d7471f03d07fed99a54
Author: Daniel Bimschas <daniel@bimschas.com>
Date:   Tue May 20 11:58:13 2014 +0200

    Fixed some smaller issues for EventStore (#341)

     - Fixed EventStore retrieval
     - DateTime serialization (before: millis, now: ISODateTimeFormat)
     - Human-readable (pretty-print) serialization

commit edfe63fb0619baefd2539ee12b2802dff49503ec
Merge: 76ab870 757bd24
Author: Daniel Bimschas <daniel@bimschas.com>
Date:   Tue May 20 10:51:23 2014 +0200

    Merged last two commits

commit 76ab87033a38f16d2fcf0c14383adb56e94a516b
Author: Daniel Bimschas <daniel@bimschas.com>
Date:   Tue May 20 10:38:13 2014 +0200

    Cleaned up serialization internals and fixed some smaller bugs for #341

commit 757bd24382a17633173cc54fca29fab59b3602c0
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Fri May 16 19:11:10 2014 +0200

    adapting PortalEventStore to new version of ChronicleBasedEventStore

commit e9226e736050e22bd6b8204fd399c7e1e51ce557
Author: Daniel Bimschas <daniel@bimschas.com>
Date:   Fri May 16 14:41:17 2014 +0200

    Stream-based impl for EventStoreResource (for #341)

commit 0b9f83321cd0d148b2320f1fd593868cfbbcc72d
Author: Daniel Bimschas <daniel@bimschas.com>
Date:   Fri May 16 14:11:49 2014 +0200

    Stream-based impl for EventStoreResource (for #341)

commit e3d6b4e77455c361f02629fa412d61a8bb886537
Author: Daniel Bimschas <daniel@bimschas.com>
Date:   Fri May 16 11:39:07 2014 +0200

    Merged develop into feature/eventstore

commit 424682e31816696ea74634e2ac4dd44ac1190d79
Merge: 6ad4dc2 0882996
Author: Daniel Bimschas <daniel@bimschas.com>
Date:   Thu May 15 15:36:52 2014 +0200

    Merge branch 'feature/eventstore' of github.com:itm/testbed-runtime into feature/eventstore

commit 0882996ee673863019f4b4df094c8664fee340f5
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Thu May 15 14:37:51 2014 +0200

    Refactoring and enhancing ReservationEventStore

    - file layer operations moved to PortalEventStoreHelper
    - ReservationEventStore as service
    - adding docs to interfaces
    - adapting ReservationEventStoreImplTest to service logic
    - synchronized access to resveration stores

commit 555762745e29d9968e215c0479191329392a0be8
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Thu May 15 11:30:21 2014 +0200

    adapting event store package

commit 6ad4dc2f6095f11e26c7d7fe085f1cdc47ca6662
Merge: 53a9921 d711429
Author: Daniel Bimschas <daniel@bimschas.com>
Date:   Thu May 15 13:23:06 2014 +0200

    Merged develop into feature/eventstore

commit 53a99219bb8f88394ad867ec6c2282b5f77ee961
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Mon Mar 31 10:13:46 2014 +0200

    removing TODO in ressource

commit 624be7208624638409aeeca9d9d58039df595ed9
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Mon Mar 31 10:12:43 2014 +0200

    fixing todos in EventStoreService

commit e1310b92dd011b0a73e3e5821b029c4fbd560116
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Fri Mar 28 12:18:45 2014 +0100

    removing commented code

commit b4dbfb791677d5d4c2e98add53d99afcd51d6150
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Fri Mar 28 12:15:09 2014 +0100

    Adapting tests for new ReservationEventBus/PortalEventBus structure

commit e71dc601368ef0a535b8ec3b8e8def03c8cef86f
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Fri Mar 28 11:38:29 2014 +0100

    Enhancing the REST API, fixing bugs (#341)

commit 37cd5dc2a8c4494a57e636ef382ab6380a407548
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Wed Mar 19 09:33:18 2014 +0100

    using CloseableIterator in event store

commit eaa5379a9cf96a63b9949fbaf0074985205b601d
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Wed Mar 12 13:39:21 2014 +0100

    ReservationEventBus: Adding node assertions

commit c76440cdbed04eb81bed55c1f0d5098f2b6b7563
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Wed Mar 12 13:04:05 2014 +0100

    EventStoreResource: Catching null-events

commit 0517f71909015b2716dd7af199957a098cbe46df
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Wed Mar 12 12:35:29 2014 +0100

    Refactoring PortalEventBus: now subscribes for Request events on ReservationEventBus

commit 3166974c88123014876c12f4dd6e7c0ff30a0e36
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Wed Mar 12 11:08:22 2014 +0100

    PortalEventStore: Just refactoring and debug statements

commit 13e06514d51a455501a5922f13885051d89bf1de
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Wed Mar 12 09:59:50 2014 +0100

    PortalEventStore: Adding log statements, fixing bugs

commit 5e65101511f211f15b20886df7f0f541f1e611b8
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Tue Mar 11 14:09:41 2014 +0100

    adding protobuf-java-format dependency and using JsonFormat for json generation from events

commit b24e427144e1ed7ef65c40890c35cbd3c6dd94fd
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Tue Mar 11 13:53:52 2014 +0100

    ReservationEventStore: subscribing for request events

commit 2ffbed1507ec1bcef9ea8ebc9c4ec5f3233a7afb
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Tue Mar 11 10:26:17 2014 +0100

    Rewriting subscriptions. Now differencing event types

commit e3e695850c2b9a89980d5e14e230bed2703dc100
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Mon Mar 10 16:46:19 2014 +0100

    continuing REST API for event store service

commit 9ceebdbc8adbce9638d9a332679b918489962880
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Mon Mar 10 14:58:26 2014 +0100

    writing event store tests

commit e3290395df898f04d4fcba93142649bf3138529e
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Wed Feb 19 11:21:58 2014 +0100

    starting with event resource for #341 (Create service that allows to store and query all node outputs and events of reservations)

commit c5612a3d1d607b435ba8271b9fdb5e93652fe5cb
Author: Tobias Mende <tobias.mende@tobsolution.de>
Date:   Wed Feb 19 10:34:26 2014 +0100

    start, stop and store methods finished for #341 (Create service that allows to store and query all node outputs and events of reservations)

commit 7ae261e123caa362c87da6b9b84ccb0adfe722b8
Author: Daniel Bimschas <daniel@bimschas.com>
Date:   Wed Feb 12 10:15:08 2014 +0100

    Created skeleton for implementation for #341 (Create service that allows to store and query all node outputs and events of reservations)