inject will now inject interface implementors as dependencies.

If no concrete type is matched for the given type, and the type is an
interface, then inject will iterate the values map to search for any
implementors of that interface before moving to the parent injector.

This will be a performance hit for certain cases where the requested
dependencies exist concretely in the parent injector. The good news is
that this should solve issues with rewritten import paths and should
allow a looser injection scheme.
Formatting
Merge pull request #18 from codegangsta/JMS-Implementors

inject will now inject interface implementors as dependencies
Add missing test condition for self-documentation

This commit adds a new assertation that states that when the Apply
function is called on a struct, fields that are not marked with an
inject tag are set to their default value.

Also ran gofmt on the code.
Use godocdown to create a github-friendly readme

This commit adds a script 'update_readme.sh' that generates
github-friendly markdown using godocdown. When the documentation for the
readme for github should be updated because the package or package's
documentation changes, run:

sh update_readme.sh

to update README.md.  This commit is meant to be the first step in
addressing #3.
Merge pull request #21 from gusennan/readme

Merge pull request #21
Merge pull request #20 from gusennan/master

Merge pull request #20