InstanceDouble Create with attrs

* Allow callers to pass in kwargs which will be assigned to the instance
* as attributes
allow exactly 0 times expect/allow
Update usage.rst

usage on speak is missing .with_args
nose: fix test result and honor setup hooks

This small but powerful change does two things.  First, it passes
the result object to testcases, so failures/successes/etc. are
captured in a way that the calling framework knows about.  Second
instead of calling the testcase's run() method directly, it calls
the test object itself.  This is what the nose framework expects
and allows any defined __call__() methods in the object hierarchy
to perform setup/teardown if they desire.
addressed comments
Merge pull request #43 from uber/nose

nose: fix test result and honor setup hooks
Merge pull request #41 from uber/tws-instance-double-default-attrs

InstanceDouble.__init__ with kwargs
Merge pull request #42 from uber/allow-0

Allow negative expectations, (e.g. expect(user).notify.never())
Bump version to 1.0.1.
Update usage.rst
Double methods on class with __getattr__

* Resolve bug doubling methods on classes with __getattr__.
* Add regression test
Fix property stubbing

* resolve #45
* Proxy property form the class back to the instance much like we do
* with __call__
* We may want handle generic datadescriptors/non-datadescriptors
Merge pull request #47 from uber/tws-fix-property-stubbing

Fix property stubbing
Merge pull request #44 from uber/tws-double-obj-with__getattr__

Double methods on class with __getattr__
use str(e.value) instead of e.value.message
support python functional changes
update
fix __new__ bug in python 3
update .travis.yml
clarify _restore__new__