Jonathan tidy

I made changes so that the code follows good practice and increased efficiency.  I also removed the stupid getter from the class that didn't do anything but return a horrible pointer to an object not dynamically allocated.

-  Never, EVER make getters that return references for private members of a class...  EVER! (erfficiency, and pointless)
-  modified function declaration and definitions to follow const correctness.  Also, they pass by ref instead of value...  grossly inefficient to pass by value.
-  made modifications to downloadTickers so that it wasn't as slow as an old turtle going uphill against the wind in a snowstorm on Jupiter...
-  Better exception handling; a std::runtime_error is now thrown with indication of the line and file that is is thrown...  instead of just a wimpy display.

----------------------
Recommendations:
-  If you can avoid try-catch statements, do so!  They are grossly inefficient when compared with a simple return value.  If the exception can be handled, it can be returned.  Exceptions are indicative of programming error, not a fault.  Please follow good practice.

Signed-off-by: Jonathan <jonathancw@me.com>
The reason why you want to make this variable private and to only give access via getters and setters is because there may come a time that I want to use this code in a concurrent manner and would need to controll acess to this pointer via locking, mutex, or some form memory access control. However I'm no longer returning a pointer to tickers because it is already a shared_ptr. I made some changes before this PR I'll be pushing shortly.