program loader can take program as creation arg
Adding test for tokeniser whitespace checker
tokeniser now takes program as constructor arg
Interpreter can take tokens as creation arg
Adding ability to define user functions

Needs more tests and error handling, but seems to work fine for basic
stuff
Interpreter now deals with lists non destructivly
Adding test script for functions
Rolling license and readme into one file