Clean exported symbols

* use -fvisibility=hidden and export only useful classes/methods
* allow the inclusion of specific list_intervals<> and interval<>
instances into the compiled version of the library.