Packaging, search, & performance improvements

Packaging has been improved and is now better organized.

Search has been unified and now returns results based upon all Items in
the library

Performance improvements: Most instances of ArrayList have been replaced
with instances of SingleLinkedList, a homebrewed class that is included
in the src (along with it's iterator and node class). Furthermore, some
extraneous methods have been removed and other's have been streamlined.

The delete Item function has been temporarily removed due a known bug in
the linked list code when removing the first item in the list.