Message serialization and network communication on a working level
Large code refactor to fix convention adherence
Minor change to reflect use of system headers better
Another clean-up commit that fixes some warnings
Added an starting dmp-client and server.

Receiving and sending of messages work. This is a staging commit.
Fixes access into incomplete type (for some weird inclusion order)
Adds default overload for assign-moving LibraryEntry
Adds overload for Connection operator=(&&)
Adds comment to Boost CMake-vars
Extended the server to store the connections in a seperate class.

Succesful multiple client connections with pings and pongs being sent.
Moved server and port to the positional arguments
Removes -Wshadow from the warnings
Adds working search and index functionality
Removes lots of debug output
Switched from using Livemedia to GStreamer.

Also fixed a MXE build to create windows executables.
The process is harder to recreate than from source build with Linux
and we need to ship the ICU data dll with the program or find a way
to work with the .dat file which is the other solution.
Added Streaming support with Gstreamer.

It's not fully implementented but the basic funtionality has been tested
The sender pipeline now transcodes to 320kbs mp3 before sending

Also cleaned up the pipeline code and the CMakeLists. Moved all general
functions to related to gstreamer to libdmp-common:gstreamer_util.{hpp,cpp}
Mega commit. Lots of different changes. List below

- Added index functionality to the gui.
- Added gui that can query clients and show results.
- cleaned up destruction of clients, gui and server to not crash on destruction.
- Added trackno to dmp_library::entry.
- Added the origin to the SearchResponse message.
- Added a boost::fusion dependant outputter that can write a fusion object to an ostream.
- Added generic callbacks class.
Created a Custom QTableModel to view SearchResults.

Also removed the need for callbacks to reinitiate the listen for requests.
Added some function to access fusion members at runtime.
Created 2 interface for the client and ui to talk to each other

Also moved synchronized client shutdown to a shutdown method in stead of the destructor.