Enforce function declaration format in bash8

Check that function calls look like ^function foo {$ in bash8, and fix
all existing failures of that check.  Add a note to HACKING.rst

Change-Id: Ic19eecb39e0b20273d1bcd551a42fe400d54e938
diff --git a/lib/config b/lib/config
index 1678aec..552aeb0 100644
--- a/lib/config
+++ b/lib/config
@@ -25,7 +25,7 @@
 
 # Get the section for the specific group and config file
 # get_meta_section infile group configfile
-function get_meta_section() {
+function get_meta_section {
     local file=$1
     local matchgroup=$2
     local configfile=$3
@@ -57,7 +57,7 @@
 
 # Get a list of config files for a specific group
 # get_meta_section_files infile group
-function get_meta_section_files() {
+function get_meta_section_files {
     local file=$1
     local matchgroup=$2
 
@@ -77,7 +77,7 @@
 # Merge the contents of a meta-config file into its destination config file
 # If configfile does not exist it will be created.
 # merge_config_file infile group configfile
-function merge_config_file() {
+function merge_config_file {
     local file=$1
     local matchgroup=$2
     local configfile=$3
@@ -106,7 +106,7 @@
 
 # Merge all of the files specified by group
 # merge_config_group infile group [group ...]
-function merge_config_group() {
+function merge_config_group {
     local localfile=$1; shift
     local matchgroups=$@