Improved utility functions

- Inlined almost all utility functions.
- SimData is now a map instead of list.
- Fixed calculation of unsatisfied demand.
- Renamed <$=> to <%=> (more similar to lens operator names)
- Made <%=> into a more generic utility function.