Merge pull request #70 from chrisyunker/master

Don't 'replace' isNone value with isNone value
Single settle loop
Extend: return the destination object

This brings things in line with jQuery or underscore's extend api and common JS practice
Merge pull request #72 from gnarf/extend

Extend: return the destination object