YAML- and JSON-format input files

In its new input format, APBS accepts either JSON- or YAML-format input files.

These input files consist of the following keywords and objects:

Input file class structure

The input file object parsing and validation follows the basic pattern implemented in apbs.input_file.InputFile (see below). This class should serve as a template for adding new input file sections.