Created ydb_plan_node header file.

Defined ydb_tuple record, which has attributes for storing the
timestamp and the data itself.

Also defined ydb_schema type. May instead want to explicitly define
which types are supported.
Replaced start/4 function with start_link/3.

With the exception of the input stream nodes (maybe), plan nodes
probably should not be given names. The start_link() function is
necessary to set up the supervisor hierarchy.

Also trap exit signals so terminate/2 is run.
Added timestamp attribute to plan_node record.
Created ydb_input_node module.

Implemented make_tuple/3 function in order to create a ydb_tuple
instance from the timestamp and the data.
Moved ydb_file_input:init/2 to private section.

Also added another clause to handle an unsupported option.
Refactored initialization of plan node.

The schema attribute is now set through the options parameter. This is
suppose to ease the transition of adding supoport for accepting the
timestamp column name.

Also handle errors from the callback init/1 function properly now.
Corrected start/3 function to start_link/2.

Calls ydb_plan_node:start_link/3. Renamed initalization parameters now
that schema is no longer separate.
Implemented ydb_input_node:push/1.

Handles the format for how to send the tuple to the listeners.
Added support for specifying timestamp option.
Renamed ydb_input_node module to ydb_input_node_utils.
Specified additional callback delegate/3.

Adds support for conditionally receiving part of the plan node state,
e.g. the schema or timestamp information (name + unit).
Implemented ydb_file_input:delegate/3.

Changed ydb_file_input:delegate/2 to request the schema and timestamp
information. Then the ydb_input_node_utils module was used to create
the #ydb_tuple{} record and send it out to the listeners.
Merge branch 'master' of github.com:visemet/yocto-db