Initial Pleiades git commit.
Pleiades Overhaul

-Decentralized the task distributor
-Redesigned the results listener and decoupled results and working queues
-Added error listener to notifu users of runtime errors
-Fixed bugs in the gatherer
-Added a persistent store for results objects (MongoDB)
-Dumbed down workers: no access to jobs queue required any more
-Workers now make use of message passing to request tasks and post results
-Countless bug fixes

Signed-off-by: Bennie Leonard <bennie.leonard@gmail.com>
Error Reporting

Fixed a bug in the error reporting code.

Signed-off-by: Bennie Leonard <bennie.leonard@gmail.com>
Merge pull request #1 from benniel/errors

Error Reporting
CiClops interaction.

Some minor modifications to enable better interaction
with CiClops.

Signed-off-by: Bennie Leonard <bennie.leonard@gmail.com>
Merge pull request #2 from benniel/ciclops

CiClops interaction.
Fixed a bug with persistent simulations.
Merge pull request #3 from benniel/persistence

Fixed a bug with persistent simulations.
Miscellaneous Fixes

-Fixed a regular expression bug in job error reports
-Fixed a bug in the distributor that caused workers to stop receiving new tasks

Signed-off-by: Bennie Leonard <bennie.leonard@gmail.com>
Merge pull request #4 from benniel/miscellaneous

Miscellaneous Fixes
Integrated heartbeat into distributor
Made topics static: get using Config.*_TOPIC (This is so every class doesnt keep a reference to the topics.)
Simplified TaskExecutor a bit, only the state is used to make decisions on when to send requests (i.e. not other vars as well)
Only the Distributor should send RESEND_REQUEST signals (not uploaders as well), and even then only in one place (i.e. not when its activated)
    this is to prevent the distributor from dishing out 2 tasks to a worker (which resulted in the first task being lost)
Added a build script
Merge pull request #5 from filinep/simplifications

Some simplifications
Added a running map to keep track of which simulations are running on which
cluster members. This allows the distributor to ensure that members are idle
before distributing jobs to them, thereby preventing samples from being dropped
by the cluster.

Removed a lot of printlines that were used for debugging purpuses.

Signed-off-by: Bennie Leonard <bennie.leonard@gmail.com>
Merge pull request #6 from benniel/running_map

Added a running map
Added code to pass results to CIdb to store in the database. Cleaned up some old code.
Merge pull request #7 from filinep/dbIntegration

CIdb Integration

Added code to pass results to CIdb to store in the database.
Cleaned up some old code.
Persistent Jobs Queue

-Added a persistent store for the jobs queue
-Bumped hazelcast version to 2.3.1
-Pleiades configuration now has global state
-Fixed a small lock issue in the results listener

Signed-off-by: Bennie Leonard <bennie.leonard@gmail.com>
Merge pull request #8 from benniel/persistence

Persistent Jobs Queue
Fixed another lock issue in the Results Listener

signed-off-by: Bennie Leonard <bennie.leonard@gmail.com>
Merge pull request #9 from benniel/locks

Fixed another lock issue in the Results Listener