Rough outline of DIYPS functions with refactored carb algorithms

Don't merge this yet (I still need to test it and likely do more bugfix commits), but wanted to get this PR in to see exactly how this process is supposed to work.  :-)