Test MKD and RMD commands

This commit tests all branches of the MKD and RMD commands.
- It should create new directories and remove existing directories.
- It should fail to create existing directories and remove non-existent
directories.

fix asylumfunk#30
Remove superfluous newlines and comment
Wrap all blocks in curly braces

Do not rely on short-circuiting return statements when we already have
logical control blocks in place.
Create full pathname outside of parameter list

By assigning the full pathname prior to making the filesystem call, the
code is easier to read and easier to debug.
Bind function scope to caller object

Previously, "self" was being used to maintain a pointer to the "this"
value outside of the anonymous function. Instead, we use the native
Function.bind(...) method to bind the method to the caller's namespace.

Beyond removing a superfluous variable, this also prevents a user from
mistakenly referencing "this" inside the anonymous function instead of
"self".
Use single-quotes

As these messages contain literal double-quotes, we no longer need to
escape them if we define the string within single-quotes.
Log error more succinctly

Not only are the messages shorter, but they also contain the verbatim
commands issued by the client.
Add detail to RMD error logging

This error message now mimics that of MKD.
Return "this" instead of "undefined"

Methods without a return statement (including an empty statement)
implicitly return "undefined", limiting their usefullness. By
returning "this" from any object method without another return value, we
allow method calls to be chained together.
Document MKD and RMD commands
Insert space after function keyword

This conforms to jslint expectations. It promotes consistency as named
functions must always have space after the function keyword.

fix asylumfunk#29
Merge pull request #25 from asylumfunk/i/29-30

Test and Refactor MKD/RMD