Added initial version of graph library with implementation of Dijkstra's algorithm
Removed header comment
Added condition library definition to allow inclusion from multple places
Prefixed constants and structure with library name to match project style guide
Renamed functions to match project style guide
Added function doc
Removed excess whitespace
Removed the name field from nodes to reduce memory footprint
Condensed edge creation function into single option always requiring edge weight
Removed id field from node and edge structures as it was left over from earlier iterations that passed the structure rather than passing ids directly
Fixed bug in get_closest_node() after id field removal
Re-added id field to nodes and edges to allow simpler loop logic and future use and re-added name field to assist with debugging
Removed name field from nodes as this can be implemented by external wrappers
Added convenience include for inclusion of all of NCL with single include statement
Added math_map_range(...) function for scaling values between different value bounds
Update README.md
Update README.md
Added graph library to convenience include
Fixed bug in explode_quoted(..) that what would skip empty tokens.

New behaviour mimics that of similiar methods in other languages and
returns empty array elements in order to maintain indices in case of empty tokens.
Added array max and min functions.

Separate versions for arrays of integers or doubles.  Note: it is the
max or min value that is returned, not its array position.