Implement FamilyMetadata and FontMetadata

This two classes are used to improve test readable existing and new ones. Now
testcases for fonts looks awful and they are hard to read and understand what
they exactly do.
Port of 5 testcases from googlefontdirectory
implement test_check_familyname_matches_nametable
implement test of test for test_check_canonical_filenames
Implement test for font tests
Implement test for canonical weights, styles, filenames
Implement test check menu subset contains proper glyphs
Start implement tests for Metadata matches NameTable
Missed ttfont module with Font class
Merge branch 'porting-googlefonts-java-check'
Merge branch 'master' of github.com:googlefonts/fontbakery