Full re-write. Refactored, cache and watchlink.
Full re-write. Refactored, cache and watchlink.

- Now the api calls to plex are cached.
- Search function has been refactored.
- Exists in plex has been re-written to use findPlexItemByTitleAndYear
if anything is found we return true. findPlexItemByTitleAndYear is then
also used for our new endpoint to get direct watch link for plex item.
Function parameters are title and year. Title is used when querying plex
and year is used with title to match correct plex search result. The
direct link includes the machine identifier so a function was added to
get system information from plex (read: 'PLEX_URL/' e.g. base path).

KevinMidboe/seasonedShows,KevinMidboe/seasonedShows,KevinMidboe/seasonedShows,KevinMidboe/seasonedShows