Add mode parameter to FileUtils.mkdir_p

FileUtils.mkdir_p accepts now the mode parameter and sets this
for all parent directories.
Fix rm_rf when deleted dirs does not exist

FileUtils.rm_rf is implemented as an alias to FileUtils.rm.
This is wrong because then an exception is raised when any of the
deleted directories doesn't exist.
Remove methods before re-defining them

This prevents ruby from dumping a ton of "method redefined" warnings to the console.
Update to RSpec 3.
File.write accepts a fourth optional argument

Previous fake File.write did not accept the valid fourth argument
`open_args`.
This commit should provide a such possibility.
I do not certify correct behavior for all cases, but at least it won’t
raise a useless exception and will extends the fakers compatibility
Merge branch 'fix/file-write-openargs'

* fix/file-write-openargs:
  File.write accepts a fourth optional argument
Fix rubocop violations added in #262.
Merge branch 'patch-1'

* patch-1:
  Remove methods before re-defining them
Merge pull request #254 from Werni/add_mode_parameter_to_mkdir_p

Add mode parameter to mkdir_p