AOSP cherry picks
explicit bootloader message:

not all devices have a /misc partition.
give more explicit info about the log message
fix various issues with partition size detection:
- always free up allocated memory
- when size is found, do not parse remaining partition entries
- do not resolve partition symlink when not actually needed
fix poweroff and reboot commands using property environement
AOSP / CM cherry pick + code clean up:

- move all partitions code to roots.c
- clean-up fstb creation code and match CyanogenMod recovery sources
- fix potential bugs related to non proper /data/media linking to /sdcard
- enhance logging on failure to detect fstype for f2fs conversion (case sd-ext defined in fstab but not existing)
- fix Find_Partition_Size() trying to get device link when not needed
- when Find_Partition_Size() found the size, do not continue parsing other partition entries
- Find_Partition_Size(): always free up resources
6.49.7