c++11: tile.cpp
c++11: string.{h,cpp}
c++11: sound.{h,cpp}; rm python-optional.h

Changes to bindings:

- `Sound.play(string)` now returns None if the sound is not found.
  Previously, it returned a valid SoundInstance that had neutered methods.
c++11: reader.h
c++11: log.h
c++11: player.cpp
c++11: area.{h,cpp}
c++11: reader.cpp