Calling mkdir with a NULL $context does not make directory

In the `_make_directory` wrapper, call `mkdir` with
respect to the availability of a passed $context
parameter.

Also removed a `mkdir` call in the `set` method
to use the `_make_directory` method instead.

Related to #59 and also to #53 and #54