Memoization table was building lists of units in sorted order by unit ID, by insertion sort. There was no need to keep them sorted by unit ID.
Changed the memoization table so that it doesn't re-compute distances. Also now just stores IDs (not pointers to Location objects) in the inProximity lists, and the function addToList2 has been inlined.
Minor: deleted unused typedefs. Use guint and gboolean instead of uint and boolean types defined for just this one file. searchWithMemoization function wasn't using its return value for anything so now its return type is void.
Disable protocol tab on checkbox.  New Javascript closes #226.
The inProximity object now stores a GArray of (id, distance) pairs instead of being a linked list of linked lists. This array is sorted when needed. Actually slower than the last checkin, but it may enable (as a next step) a useful speedup in the way contact-spread-model works. Adds timsort (https://github.com/patperry/timsort) as a required library.
Renamed a function and revised its comment to clarify its purpose.
Removed 2 layers of if statements that were not needed.
Zipping map output file and offering a link in the results summary.  #181
Scenario database is no longer opened in WAL mode.
New Windows exe that doesn't use WAL mode (issue https://github.com/NAVADMC/SpreadModel/issues/225).
Closes #128. Calculates the percentage of the iterations that have completed based on the completion criteria and displays a progress bar on all results pages.
Readability: removed one level of unneeded if statement.
Readability: removed another level of unneeded if statement.
Readability: removed another level of unneeded if statement.
Merge branch 'master' of https://github.com/NAVADMC/SpreadModel
Merge branch 'master' into distance-speedup

Conflicts:
	CEngine/modules/contact_spread_model.c