Close #12.

1. Handle decoding into embedded structs; adapt encoding/json type field handling code

2. Check along FieldByIndex index path for nil structs (adapted from Go encoding/json)

3. Table test for TestDecodeEmbedded

4. Add tests for embedded *structs

5. Restrict to 80 columns.
Merge branch 'master' into Encoder

Conflicts:
	decode_test.go
	type_fields.go