Fix memory allocation in parser

The set_value function was incorrectly using sizeof (char *) when
allocation and reallocating memory.
Fix memory allocation for MD5 digest

The vrrp_in_chk_ipsecah and vrrp_build_ipsecah functions were
incorrectly using sizeof (unsigned char *) when allocating memory for
the MD5 digest.
Free memory leak in vty_read_config

If vty_use_backup_config returns NULL, free any memory that has been
allocated before returning.
Free memory leak in check_include

The check_include function should always free the allocated strvec.
Check for CONTENT_LENGTH before allocating memory

Since extract_content_length should return 0 if CONTENT_LENGTH is not
found in the buffer, this check should be done before allocating
memory. This avoids unnecessary malloc/free calls and fixes a
potential memory leak.
Free memory if realloc fails

If realloc returns NULL, free the original memory before returning.
Remove redundant close from vty_use_backup_config

The sav file descriptor is closed after read, so there is no need to
close it again is chmod operation fails.