[FIX] add DLLAPI to two functions

- these two explicit template initializations are only ever included in
  BaseModel.cpp and are thus part of the library. To be visible to the
  client, they need to be exported explicitly (they are used in
  CONCEPT/Factory.h)
[FIX] add DLLAPI to assignment operator

- since the assignment operator of ToolDescription is available through
  the API, it also needs to able to assign ToolExternalDetails which
  contains a MappingParam object.
[FIX] add DLLAPI to two functions
[BUILD] turn on -fvisibility=hidden for gcc
Merge branch 'develop' into feature/visibilityHidden

Conflicts:
	cmake/compiler_flags.cmake
Merge pull request #833 from hroest/feature/visibilityHidden

Feature/visibility hidden