FibHeap: slightly changed find node method declaration
pro: added Prim + FibHeap backend, added preprocessor variable WITH_GUI
pro: minor changes to the headers
prim: introduced Prim class implementation
internal: encapsulated SWAP macro into FibHeap module, renamed some vars
main: renamed shared mutex, added unique_lock mutex due to cond. var
prim: encapsulated exception class into prim class, added ADT for edges

AS we need to distinguish exceptions from Prim an FibHeap, I
nested exception classes into Prim and FibHeap classes separately.
Because we should check for duplicite edges in our undirected
representation, I added new vector of edges which is only checked at the
very beginning before the call to PrimMinSpanningTree itself.
fibheap: nested exception class into FibHeap class

Analogically as I did with Prim class.
fibheap: moved SWAP from internal, error subsystem tweaks

As I mention in my previous commits, I moved SWAP macro from internal.h
into FibHeap.cpp as it's not globally necessary.
I also changed the way how FibHeap class reports errors, previously the
only way how to detect error was by checking error code, now we do
support exception which do need to be caught of course
prim: added speed simulation waits (mutex,condition variables)

We still need to work out our signals being send when Prim finishes 1
step in computation.