Rewrite VaspCat UI

This commit makes major changes to the VaspCat UI.  Most notably, it
adds a main menu which appears on program startup (found in
application.py) and the ability for the user to add their
own program settings.

CHANGELOG
- Renamed vaspcat/src directory to vaspcat/output to better reflect the
  purpose of the files contained within.
- Renamed posext.py to filetype.py to reflect the fact that the data
  read from external cif and pdb files may be used for outputting more
  than POSCAR files in the future.

setup.py: - Added new author and project desciption info to setup file.

vaspcat/__init__.py: - Added new exception class, ExitError, responsible
                       for returning program to main menu.
                     - Added clear screen method for use by modules
                       within the VaspCat package.
                     - Added boilerplate docstrings with copyright and usage
                       information for VaspCat.

vaspcat/application.py: - Added ability for users to import settings
                          files they place in the working directory.
                        - Added new front end UI for ease of use when
                          starting file output and dealing with error
                          messages.
                        - Placed file reading functionality into a
                          separate method from the main program loop.

vaspcat/config.ini: - Added settings file which is used by VaspCat
                      modules to perform their functions.

extend/filetype.py: - Rewrote calc methods in pdb and cif classes for
                      readability purposes and to better reflect the
                      form of the equations found in spacegroup.py.
                    - Added get methods to cif and pdb classes to
                      separate file data dictionary from the
                      implementation of how the data is gathered.
                    - Added code to parse methods in pdb and cif classes
                      to get atomic coordinates located on opposite
                      ends of the unit cell (say, from 0,0.5,0.5 to
                      1,0.5,0.5).
Add Settings Verification

This update enables VaspCat to verify if the user settings supplied to
the program are valid.  Additionally, the user is able to overwrite the
default VaspCat settings with their own config.ini file.  This can be
done from application.py.  The application module also gives the user
the ability to restore VaspCat default settings from backup.ini.

CHANGELOG:
- Separated settings reader and file reader into separate modules
  (settings.py and reader.py, respectively).
- Renamed the vaspcat/output directory to vaspcat/core.  This was done
  to avoid naming conflicts between output.py and vaspcat/output.  Also,
  the core folder is meant to indicate that the directory contains the
  core functionality of VaspCat.
- Renamed config.ini to default.ini to better indicate its purpose.
  Also added a backup.ini file with VaspCat defaults that can be
  restored from the application.py menu.
- Renamed README.md to README.rst to enable usage of reStrucutedText.

setup.py: - Added __version__ variable to automatically update the
            program version when creating source distributions.

vaspcat/__init__.py: - Added __version__ variable for use in updating
                       documentation and setup files.

vaspcat/application.py: - Added new menu item allowing the user to
                          overwrite program defaults.
                        - Made it so that settings only load when
                          starting output.

vaspcat/output.py: - Fixed a bug where files saved in the same folder
                     were missing an underscore between the output name
                     and the suffix.

vaspcat/settings.py: - Moved settings previously found in application.py
                       to this new method.
                     - Added a verify method meant to make sure that
                       loaded user config files have valid settings.

vaspcat/core/poscar.py: - Fixed an issue where the user could save a
                          POSCAR file with a blank title.

vaspcat/core/potcar.py: - Rewrote potcar.py so that it doesn't rely on
                          the 3rd party pkg_resources package.
                        - Wrote more verbose error messages so the user
                          knows what POTCAR files need to be added
                          before file output functions properly.
                        - Simplified the code which writes the POTCAR
                          file by adding new for loops.

vaspcat/docs/MakeFile: - Added support for Sphinx documentation.

TODO:
- Remove code in vaspcat/extend/filetype.py that adds extra atoms by
  flipping coordinates from 0 to 1.
- Fix pdb reading bug in vaspcat/extend/filetype.py where atom names are
  improperly read due to extra letters added as labels.
- Add new setting to vaspcat/core/poscar.py allowing atom names
  as titles.
- Add basic support for KPOINTS and INCAR output.
- Transition docstrings to Sphinx rst format.
- Document and add boilerplate text to modules missing these docstrings.