create class QcInput
implement init function
implement str function
add test class for QcInput
implement to_dict and from dict for QcInput
rem section should be initialized as a dict
only when optional_params is not None, update params
correct the name in getattribute
fix the bug in rem formatting
fix the bug in molecule section formatting
add job type option
correct the rem_params updating
add element specific basis set support
make job_type appears first in $rem
make simple basis set and gen basis set two separate test
add support for ECP
add support memory options
add to and from dict test
fix bug in from_dict
add support for setting max scratch files