Added simple buffer and fixed important bug

In the first commit I added a **simple buffer** for API response in the `shorten()` method.
When we call `shorten()` without using extended output mode, the class will search for the given long URL in its static buffer (long URL is the array key for the buffer): if found, it returns the short URL from the buffer instead of making an API request. Obviously, this buffer is filled every time the `shorten()` method ends normally.

In the second commit I fixed a **serious bug** in `expand()` method. 
I noticed this method keeps returning last long URL used in `shorten()` instead of the expected result. I found this is because after we made a POST request in `shorten()`, the `expand()` method continues to send same POST request if we not reset it to GET (using the line I added).