This revision includes the following changes:
 - [1] book/index.php was updated to use the newly renamed "Cloudinary" class, which was renamed from "General".
 - [2] images/email-assets was added to include all of the images which are used inside of the emails which are sent to the merchant and buyer when a purchase is made.
 - [3] includes/ajax/purchase.php was added to serve as the processing script for purchase requests.
 - [4] includes/ajax/search.php was updated to include try {} catch {} blocks, to successfully handle the newly completed error-handling features of the IndexDen::search() method.
 - [5] app/index.php was updated to include the new FFI_BE_Buy jQuery plugin and TinyMCE 4 to handle the client-side portion of purchases. Additionally, a new sorting criteria, "Relevance", was added to the search UI. The Science, Engineering, and Mathematics section now inherits its background color from the "even" CSS class.
 - [6] FFI_BE_Buy.js is a new plugin to handle the client-side portion of purchasing a book.
 - [7] FFI_BE_Explore.js has been updated to include an infinite scroll. The user may scroll down the page of search results, and if more results can be loaded, then the plugin will request them from the server and attach them to the end of the existing list. Additionally, a more unified approach to adding search result items to the list has been adopted, by passing all necessary data off to a method to construct and add the search result. Also, a bug was corrected where all keyboard input would be automatically placed inside of the search input. This plugin will no longer put the user's keyboard input in the search box automatically, if the user's cursor is already placed inside of another form input control. The plugin can now handle displaying errors from the server, and will not continue to add semi-transparent search masks on top of each other in the event that multiple server errors would occur in a row. Finally, the initialization section at the bottom of the script now utilizes several of the plugin's methods whenever the user would click on the large grey tiles on the home page of the Book Exchange.
 - [8] explore.min.js includes all of the changes mentioned in the unminified version above.
 - [9] explore.css was updated to include some minor stylistic changes, such as correcting the text inside of the blue dot on the home page, and addressing some layering issues. The styles for the list of search items was updated and move to main.css, since these styles will be used in multiple areas of the site. See the comments on that file for what stylistic changes were made to the list of search items.
 - [10] explore.min.css includes all of the changes mentioned in the unminified version above.
 - [11] main.css has been updated to acquire all of the content area styles for the plugin (instead of relying on the theme to provide these styles), styles for the listing of books (such as for search results or under a course section), and new styles for the purchase dialog. The styles for the listing of books has been updated to provide a more minimalist approach. Now the user will see the cover, title, and price, and must hover over the book to see the author, condition, and a button to purchase the book.
 - [12] The Cloudinary class is simply the old General class with a new name and location, since Cloudinary is basically an API class, and the new name better describes its features. Some of the method names have been simplified or clarified.
 - [13] The IndexDen class has been fully documented. It now also throws exceptions to handle a specific set of errors, specifically in the search() method. Some examples include throwing errors if validation fails, or if communicating with IndexDen fails. This method can now sort the results based on user preferences, and also filter the results by course. It also utilizes the newly renamed Cloudinary class. A new method, delete(), has been added to delete documents from Cloudinary by their document ID.
 - [14] The new Book class is mostly a skeleton class, containing only one operational method to get all relevant details on a particular book by its ID. A second method stub has been declared and documented to generate book quick view for book items. This method will be best used to generate a book details preview object like that used on search results or on a course section page.
 - [15] The Book_Overview class was updated to use the new Cloudinary class, in place of the old General class. Book_Overview is deprecated, and is scheduled to be merged into the new Book class.
 - [16] The General class was renamed to Cloudinary. See the comments on the new Cloudinary class for a listing of changes.
 - [17] The emails package was added in this revision and contains three emailer classes. One is a base emailer (Email_Base) which contains several variables and a method which is used in both of the other emailer classes. The other two classes (Email_Buyer and Email_Merchant) contain several additional variables and a customized method which is used to gather information and build an email to send to the buyer as a receipt and to the merchant as a notification of their purchase request.
 - [18] The processing package contains the new Purchase_Process class which is used to complete a book purchase request. Some of the procedures the class will complete include logging the user in (if necessary), validating all input, deleting the book from IndexDen, sending an email to the buyer and merchant, and taking the book off the market to log it as a purchase.
 - [19] The interfaces package includes a single interface, IEmail, which is used to declare the methods which should be defined inside of the classes in the "email" package.
 - [20] The Cloudinary package has been added in this revision and includes a third-party library to manage nearly all aspects of the Cloudinary account which this plugin uses. This library is not yet in use, but will later be used to add images to Cloudinary.
 - [21] The Indextank package has been added in this revision and includes a thrid-party library to interface with the IndexDen API. It is currently used to delete documents from the index which holds the listing of available books.
 - [22] The third-party/indextank.php was added as part of the Indextank library and is a file which was included with the library to include the entire set of classes inside of the Indextank package.