Define paths for recovery settings files in a separate header

Also, use get_primary_storage_path() to define the locations of .no_confirm,
.many_confirm, and .hidenandroidprogress instead of hard-coding /sdcard/.

Change-Id: I50442a226af1d102786c833c0b53c25bf63c67a6
(cherry picked from commit bd0fe453f6ca242f0ed868b4c0934af29d499bba)
Bump recovery to 6.0.4.6

Change-Id: Id2b373e5a356e7eaa8694e5d0300dff860762061
Hide install icon after success as it is done for regular zip installs

Change-Id: I932a6ecff0fb64913842c1ea4624021b476f7d46
Nandroid menu fixes:
- fix memory overflow bug if vold managed volumes reach MAX_NUM_MANAGED_VOLUMES.
- easier editing: this completes previous two commits to clean up Install Zip menu and Advanced menu

Change-Id: I349cc7b04878b92d902e1ee826d9b4c5bc77cf83
(cherry picked from commit a88b701ccb0733ca5cdd51490b86707c8d19a1f4)
Free up memory from file menu pointers

* Cleanup sub-filemenu pointers after their results are copied.
* Cleanup file pointers after all operations have been performed on
the file.

Change-Id: Ie6c482c5ffddd7ebebdc99bbe8ae856e53e1405f
(cherry picked from commit 5360b52dba6b120b6e0ba5c775e2a961504a34a3)
Do not modify original items pointer when filtering NULL entries

get_filtered_menu_selection currently modifies the items menu passed
to it. This can be problematic if the items menu is needed later without
any filtering of NULL entries. Instead, let's modify a copy of the items
menu, leaving the original intact.

Change-Id: Ief6f538441ea78fcd8eba3a815354f06bda849a0