[#8] envdir.write: creating envdir from within python

1) envdir.Runner.write method created.
   Nothing really misterious here, maybe except fact that it raises
   OSError if given directory already exists. This supposed to be used
   only from within python so raising exception seems to be resonable.

2) envdir.write added for convenience

3) tests added
[#8] envdir.write: README & AUTHORS updates
[#8] envdir.write: python 3 FileExistsError/OSError fixes

On python 3 ``os.makedirs`` raises FileExistsError not OSError
when given path directory already exists.

README and comments fixed as well.
[#8] envdir.write: no new line appending
[#8] envdir.write: default envdir path calculation extracted to separate method
[#8] envdir.write: path param is now optional
Make sure we stop child process when capturing KeyboardInterrupt
test KeyboardInterrupt signal doesn't display traceback
[#8] envdir.write: write method signature changed

Referring the discussion: https://github.com/jezdez/envdir/pull/9

This changes allows to use ``envdir.write`` in two follwing ways::

    # 1) with default path
    envdir.write({'VAR': 'value'})

    # 2) with the path provided by user
    envdir.write('/home/jezdez/mysite/envs/prod', {'VAR': 'value'})

Provided solution leaves room for additional kwargs arguments if we
will later want/need them.
Added build dir to ignore file.
Merge remote-tracking branch 'jqb/master'
Merge pull request #10 from ticosax/kill-child-process

Kill child process
Major refactor to have a proper Python API.

Also drops cram in favor of pytest.
Merge branch 'master' of github.com:jezdez/envdir

Conflicts:
	envdir/__main__.py
	tests.t
Use fixtures for the runnner, shell and tmpenvdir.
Made Env object dict-like.
Added Sphinx based documentation.
Only flake8 when needed.
Refactored Sphinx docs.
Forgot to add back the feedback section.