Add -[OFArray componentsJoinedByString:options:].

This allows to skip empty components.
Fix backtraces when using the Apple runtime.
Add -[OFString stringByDeletingPathExtension].
Add -[OFString pathExtension].