Add more xml_lexer to .gitignore
Fix to process hex_digit characters

- Previous process_digit function didn't check for hexadecimal
  characters. Changed it to function better and fixed tests to
  check for that possibility
Refactor quote functions

- Special quote functions like `get_encoding_quote`, `get_pubid_quote`,
  `get_ent_quote` and `get_attl_quote` now have been moved to bottom
  where the rest of quote fn are located.
- Common functionality that revolves around processing quotes has
  been moved into a fn called `process_quote` - that function assumes
  `'` or `"` will be encountered and peeks text until it encounters
  said character; afterwards checking that the correct quote style
  is matched.