Code cleanup and reduction of dependency on globals

Highlights:
- reverting commits 59136a29 & 691d003. Fix duplicated install
  buttons when preview_changes is disabled, by moving to
  acp_mods_actions.html, under S_DISPLAY_DETAILS.
- a little cleanup of acp_mods_actions.html template.
- Reducing redundant code in few places, removed handle_ftp_details()
  from functions_mods.php, merged barebones with get_connection_info.
- reduction of various methods' dependency on globals.
Minor code logic revision of process_edits & close_file

This fixes some minor code logic issues in process_edits(), regarding:
1. keeping track of & reporting partially unsuccessful edits.
2. how process_success & process_force variables (previously known as
mod_installed & force_install) are passed from acp_mods->process_edits
to editor->close_file; only place in editor class where they're used.
Reorganizations, fixes and cleanup

Reorganization and cleanup of:
- handling of $actions['DIY_INSTRUCTIONS'] in acp_mods->list_details() and install(),
  with a minor change in parser_xml->get_actions to always return it as an array.
- acp_mods->install() for a logical order similar to uninstall and to ease readability.
- initialize $actions['EDITS'] and $actions['NEW_FILES'] in the parser before it
  returns $actions or $reverse_edits, to minimize redundant checks in acp_mods (foreach
  loops skip empty arrays).
- acp_mods->process_edits' gigantic foreach($actions['EDITS']) loop:
  per the note above, get the loop out of the if !empty check, to decrease indentation
  for readability.
  Further revision of the recently added "hide successful files/edits" feature:
  A successful inline_find should not mask the failure of previous inline_find, so set
  $edit_success to false soon as an inline_find fails.
  (Prior commit, 3ecc023, fixed a similar issue with failed inline_action - that is
  followed by a successful inline_action)
  Observe $editor->close_file errors *before* setting $edit_success to true
- editor->find() to return an array of start and end offsets set to false instead of
  returning a single boolean false only to later set start and end to false in
  acp_mods->process_edits().
Refactoring process_edits() and editor optimizations

Highlights

In acp_mods:
- If a find had failed, skip execution of associated commands.
  Previously, commands were executed all the time, even after a find
  failed, and yet, find was again re-invoked within each of the editor
  methods, despite the fact that they would never succeed (due to the
  sequential nature of how finds are done).
- If an inline_find failed (possibly due to the parent find failing),
  skip execution of the associated inline commands and not the entire
  loop iteration, so that $inline_template_ary is updated to reflect
  (in the template) the associated commands that were to be executed.
- process_edits() is now a lot more readable, imho.

In Editor:
- Minify the parameters of various editor methods by abstracting
  editing-specific information as properties of editor.
- Refactor inline_find() code in a similar fashion to find().
  This may have also fixed some unforseen issues due to the fact that
  the second (almost duplicate) loop did not update the
  'last_inline_offset' property.

Also fixes Ticket #62603
more deglobalizations, refactoring & agnosticizing ftp code

- de-globalize ftp_method, test_ftp_connection, test_connection
- de-globalize parent_id, rev_actions
- remove unused globals
- further re-factor ftp code, and make it more connection-type-agnostic
- fix an old discrepancy re UPLOAD_METHOD/UPLOAD_METHOD_* template vars
- use forward declarations of globals in functions. It's cleaner, easier
  to maintain, and does not add overhead. See:
  stackoverflow.com/questions/181285/does-using-global-create-any-overhead