Got sidetracked by a flaw that I just barely caught. I had to put some more checks in a few places to ensure the top and bottom edges of the map were being properly accounted for when neighbor checking.
In this pic you can see the lakes that are the darker blue surrounded by land. The lakes are key because they will count as sources of fresh water in game and influence river flow. Right now anything smaller than 7 tiles is a lake, but I think I will make this a setting that you can select on map creation for players who want anything between maps covered in lakes or maps only containing saltwater, and also a setting to allow a certain number of lakes to be salty from 0 to all of them.
If you look closely you can see some of the rivers running rampant through the lakes so that is what I am going to work on now. When I am done a river will enter the lake and then exit from a randomly chosen tile.
Going to have to create some diagonal neighbor checks and a couple other systems to get that to work. Biggest problem will be figuring out whether the destination tile is valid.