Merge pull request #8 from SIlver--/Develop

Develop
Initial Commit-Books class

Create all the functions into a Books class
Worked on search_db() func
Worked on build message
Worked on reply() func
Cleaned up and fixed errors WIP
At the same functionality as master

A bit more testing and cleaning the code, this will then be merged with master. This will allow new features to be made quicker.
Removed story_findall() func, not required
Split search_db() into build_query_sensitive()

build_query_sensitive will build the SQL query if it's sensitive or not. It will then call upon search_db() to run the query.
Added comment as an argument for Books `__init__`

-Fixed use of `comment` to reflect this change
-Moved commented and term history into Books class level variables
Reply() has default value for spoiler

-Removed redundant else clause append commented.id.
-Spoiler reply message now an else of `if allBooks.book != NONE:` was already done because of `if re.search('Search(All|AGOT|ACOK|ASOS|AFFC|ADWD)!', comment.body)` This was done as previously it checked twice if it was a no spoiler thread.
- Allow users to search below 3 characters again. This was a limitation because previous faulty regexp.
Removed overuse of lower(). Better use of comments

- Fixed a bug where when search_db() was split, forgot to add bookSearch as an argument from build_query_sensitive()
Tiny fix
spoiler_book() now watch_for_spoilers()

-watch_for_spoilers() uses a loop to find the title and a loop for the book
-_book attribute now .bookCommand
-Book globals are now an enumerate, will be used later to determine which books to use and under
Created which_book() method

-which_book() will figure limit SearchAll! based on the spoiler tag. So if the Spoiler Tag is SearchAFFC!, it will only show AFFC and below with SearchAll!
-bookSearch from build_query_senstive() is now an attribute
which_book() slightly fixed

- Now it is able to do SearchSPECIFICBOOK! again. Need to still fix it so it doesn't work above it's spoiler tag
Changed assignments in watch_for_spoilers()

-Previously was assigning the title's properties. Now (the right way) assigns it's objects and should use it's properties when needed.
SearchCommand! works properly under (Spoiler Tag)
Fixed some bugs

-SearchAGOT-ADWD! no longer should work in (No Spoilers)
watch_for_spoilers() now includes more scopes

-Fixed bug where sensitive case caused story to be lower case when searching through