Add underscore.js dep, remove custom isEmptyObject
Add support for custom headers and status code
Move code to src sub directory