Fixed recursive includes and return types bugs

Recursive includes are now available in the completion list.
Return type is no longer inserted when a completion is chosen.
Files are now represented as nodes

Files are stored as nodes with a list of their children and parents.

They are also stored in a dictionary for fast lookup by file name.
Removed include files are removed from the node graph
Removing default settings file

Slash direction causes problems, so removing the settings file
Merge remote-tracking branch 'origin/develop'