refactor(library/data/subtype): define subtype using 'structure' command
feat(library/data/prod/wf): define relational product and prove wf theorem for it
refactor(library/data/option): cleanup using 'no_confusion'
perf(kernel/level): apply two simple normalization rules at mk_max

They are variations of:
max l1 (max l1 l2) == (max l1 l2)
refactor(library/data/sigma): break file into smaller pieces to reduce dependencies
feat(library/data/sigma/wf): define 'lex' for 'sigma' types and prove wf theorem
feat(frontends/lean): add '[local]' notation, closes #322
refactor(library/data/prod/wf): remove duplication, and import wf's for sigma and prod
refactor(library/data/prod/wf): remove duplication, and import wf's for sigma and prod