complete DSL rework

  Allow nested dash/graph/metric definitions, and structure reopening
  Fixes #10
  Fixes #8
  Fixes #7
  Fixes #3
add checks on dsl parsing
add more error checking in dsl, fix regression on load
Merge pull request #18 from josqu4red/dsl

Complete DSL rework