Move optional<T> modifiers to a separate header.

This is to allow service writers to use optional<T> and
optional_with_default<T> type modifiers without including the heavy
slot.hpp header.
Merge branch 'master' of github.com:cocaine/cocaine-core