EFI was mixing caching in two seperate places causing issues when
multiple partitions where tested.
Eliminate this by removing ffstat and refactoring fsread into fsread_size,
adding basic parameter validation.
Also:
- Enhance some error print outs.
- Fix compilation under UFS1_ONLY and UFS2_ONLY
- Use sizeof on parameters instead of structs.