testing r/w
Sensefields Backport: First stage to implement a library of microflo graph runtime.

It was necessary to detach inclusion of class graph runtime component ID definitions from the microflo.h. The ID's are only needed when compiling the main application.
Sensefields Backport: Implemented microflo graph runtime as either a static (linkable) object or dynamic linkable library. Feature targeted for embedded linux. All other build-targets are unaffected.

New build targets in Makefile:
build-microflo-sharedlib: build microflo runtime as dynamic link library
build-microflo-objlib: build microflo runtime as static object library
build-linux-sharedlib: build linux firmware, dynamically loading microflo core as shared library.
build-linux: new default is to link statically to microflo core pre-compiled as object file library.
Embedded linux builds: Microflo runtime semantically detached from firmware executable; firmware can either load microflo runtime as dynamic link library or link statically during compile. All other targets unaffected.
components-as-library:
1) new build target in Makefile: <build-microflo-complib>, as dependency to build-linux
2) refactored component base class definitions from components.hpp to components.h (purify principle that a class definition is in a .h).
3) refactored static Component *Component::create(id) as external function (optionally part of a component library):
   Component *createComponent(MicroFlo::ComponentId id);

The refactoring is also reflected in generate.js (which builds the component factory method).
Existing build targets for Arduino, AVR, etc, still work in the "firmware" way (compile all at once)
components-as-library:
Moved "components-gen.h" (generated component ID's) inclusion into componentlib.cpp.
This is to purify "components.h" only containing component base & derived class declarations.
Old "components.hpp" file is no longer used.
components-as-library:
Reduce the auto-generated component library source code files with more meaningful filenaming (matching core filename "componentlib"):

componentlib-ids.h, was components-gen.h, integer consts of all the component ID's - useful for appl. access to Component Lib API)
componentlib-ports.h, structs and enumeration of the component ports - useful for appl. access to Component Lib API )
componentlib-source.hpp, merging of components-gen-lib.hpp and components-gen-bottom.hpp files in this specified order.
components-as-library:
Old "components.hpp" file is no longer used.
components-as-library:
added #ifndef duplicate #include protection for auto-generated  "componentlib-ids.h" and "componentlib-ports.h" files.
components-as-library:
added #ifndef duplicate #include protection for auto-generated  "componentlib-ports.h" files.
components-as-library:
Implemented new "componentlib" tool command in microflo.js, Used by Makefile <build-microflo-complib> target to build the component library, without the need for "update-defs" dependency.
Sensefields backport: components-as-library
Merge remote-tracking branch 'sensefields/master'
Fix MicroFlo::IdSubGraph accidentially inside ifdef