Moved the extern definition from the main file & fixed some warnings

The extern was correctly in the header file, but the definition of it
was provided in the _main file rather than the actual definition file.
This meant that the unit test linked not to the _main.c file would not
have a definition of the extern.
Changed the test file to send correct arguments to the function (char rather than int)
Fixed a few errors in the Makefile

Especially, the all: target had an inexistance target
Refactored code and added unit tests

Split up code to allow unit testing
Added folder unit_tests and a makefile
Refactored the code and added Makefile and unittests, however the makefile is not working.
Removed generated object files
Moved the extern definition from the main file & fixed some warnings

The extern was correctly in the header file, but the definition of it
was provided in the _main file rather than the actual definition file.
This meant that the unit test linked not to the _main.c file would not
have a definition of the extern.
Changed the test file to send correct arguments to the function (char rather than int)
Updated makefile to have good default build targets

Especially, the all: target had an inexistance target
Added default build target
Refactored so that the default markov chain is set up in the funciton file
Fixed the test to include training function
Merge branch 'TestLinusFeatureBranch' into LinusFeatureBranch

Conflicts fixed:
	SunnyRainy/Makefile
	SunnyRainy/is_it_going_to_rain.c
	SunnyRainy/is_it_going_to_rain_main.c
	SunnyRainy/unit_tests/test_SunnyRainy.cpp
Merge branch 'LinusFeatureBranch' into develop