refs-be-files.c: add a backend method structure with transaction functions

Add a ref structure for backend methods. Start by adding method pointers
for the transaction functions.

Rename the existing transaction functions to files_* and make them static.
Add new transaction functions that just pass through to the appropriate
methods for the backend.

Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>
refs-be-files.c: add reflog backend methods

Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>
refs-be-files.c: add methods for misc ref operations

Add ref backend methods for:
resolve_ref_unsafe, is_refname_available, pack_refs, peel_ref,
create_symref, resolve_gitlink_ref.

Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>
refs-be-files.c: add methods for head_ref*

Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>
refs-be-files.c: add methods for the ref iterators

Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>