Change method of storing and retrieving output

Program now stores "progress" file in .bookmark by default. If no
.bookmark file exists when running the program, one will be created
during the program if necessary. Additionally, program will now output
the new TeX to the specified output file if the entire input file is
processed. If the entire input file is NOT processed during the
program (i.e. user quits), current output will be stored in
.save and will be appended to when the program is next run. To handle
sentence removal, the program will place markers in the .save file.
Fix bugs preventing sentence removal from working

The program was unable to find the exact location of sentence
boundaries by only iterating through the text of the sentences.
In order to remedy this, the program now iterates through the
regex match objects (which contain the precise location of each
match).
Update README to reflect usage changes
Add helper methods to assist in exiting/quiting

The new methods allow make it easy to check all user input and see if
user wants to quit. If the user does want to quit, the necessary
data is saved and the program exits.
Add mechanism to add new keywords to the list

Now users can add keywords to the list of identifiers that are
identified. In addition, users can add annotations from sentences that
they choose not to delete, even if they were not originally identified.
Stop going out of bounds when looking for section

The program will now stop looking for the start of the next section if
it is going to step out of bounds. This case should only happen if
there is badly formed TeX or the section is the last one in the
document.
Add method to save the state of the program

The inclusion of this method allows the program to easily be saved
before it exits. The state is saved in PROGRESS_FILE and SAVE_FILE
(.bookmark and .save by default).
Allow user to quit in more places

The user can now exit the program safely at all input locations
except those where a list of numbers is expected. Also changed a
variable name to avoid shadowing built-in `type`.
Fix quitting to save bookmarks file correctly

The .bookmarks save file will now be saved correctly regardless of
where the user decides to quit from. In addition, user can now quit
when asked to input a list of numbers.
Add better handling of save files

The program now reads from the save file instead of the input file
if the user chooses to resume. The save file is deleted if the input
file is processed to completion.
Fix wrong method name for deleting save file

The program incorrectly called os.delete when it should have called
os.remove. In addition, the program now handles erros encountered
when removing the save file.
Add save files to gitignore
Remove code to omit \index lines from sentences
Add missing parenthesis
Use dictionary of options vs individual variables
Read in .bookmark file by lines vs splitting

This commit fixes a bug that prevents the program from working properly
when the user manually edits the .bookmark file.
Fix insertion pattern for comments

The new insertion pattern works with the updated format of storing the
comment strings. Additionally, the output of the program is no longer
appended to the main output file when the entire input file is
processed.
Fix first-pass sentence fragment removal algorithm

The program can now remove sentences/fragments while iterating through
the input file.
Change method of writing file after reading last line
Put all docstring summaries on single lines

Also updated documenation for make_annotation_query method.