Move mapped() from PiiMatrix to PiiConceptualMatrix

- Now, mapped() is available to all matrix concepts.
- Needed to add Pii::matrix() calls to many places where the old
  version was used to convert the returned concept to a concrete
  matrix.
- Fixed a couple of const correctness problems
- Added PiiConceptualMatrix::cast()
Add Q_OS_XXX macros to non-Qt builds
Work around GCC initializer list order bug
Add socketAt()

- The new function lets one to access auto-generated sockets at compile
  time.
- Added documentation.
- Changed int to size_t in ValuePack.at() template argument.