Handle decoding into embedded structs; adapt encoding/json type field handling code
Encode primitive types
Split eKeyVal into eKeyEq and ePrimitive
Encode arrays and slices
Encode arrays and slices
Encode basic nested struct
Encode a struct with multiple nested structs
Encode deeply nested structs and nil structs
Encode map
Encode direct keys before encoding keys that create their own tables
Write keys using struct field toml tag
Encode embedded structs
Export Encoder and NewEncoder
Encode simple arrays of tables
Encode embedded *structs
Check along FieldByIndex index path for nil structs (adapted from Go encoding/json)
Table test for TestDecodeEmbedded
Add tests for embedded *structs
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