Basic project setup.
Draft of file_input module.

Implements gen_server behaviour. Creates events that are propagated
through the system by other plan nodes.

Designed to periodically read a certain number of lines from the file,
and push the tuples to its listeners.

The following task are outstanding:
 (1) actual reading the file
 (2) conversion function to process raw data
 (3) send the tuples via gen_event:notify
Modified record for file_input module state.

Improper to call the attribute `poll_freq' when it is a timer that
_pokes_ the process into performing another read.

Could use the timer:send_after function with a message of the form
{'$gen_cast', {read}}, instead of setting up an interval. This may be
necessary in order to avoid having the timer once we reach the end of
the file.
Created file_input:read/3 function.

Reads Erlang terms from the file and processes them one at a time.

Also added send function that notifies listeners using gen_event.
Created template for plan_node behaviour.
Implemented notify and add/remove listener functions.

Added support for receiving subscribe and unsubscribe requests, as well
as for sending a message to all listeners.
Added requirement of delegate callback function.

Called on messages of the form {delegate, ...} that are passed to the
gen_server process. The state wrapped by the plan_node record is also
given.

Remove subscribers that go down.
Fixed issue with not wrapping record correctly.
Refactored file_input to implement plan_node behaviour.