TEMP: WIP on more flexible ways of inputting program data

* all build artifacts genrated needs to go into target dir

TODO

* need to update Arduino library build to not assume definitios in microflo/

* make generate command take target dir instead of file
* get rid of update-defs command, this happens in generate now
* let generate take N input files instead of just one
* if input file is a .cpp file, use declarec extract to find graphs/components
* test that an external project can install microflo as NPM dep, use to build custom program

* migrate all core components to use decentralized metadata