Optimize view paths caching for plugins.

Closes #2047
Merge pull request #3356 from ADmad/2.5-view-paths

Optimize view paths caching for plugins.
Improve docs for UnaryExpression.
Initial implementation of pagination for older Sqlserver

Old SQLServer does not support anything like LIMIT/OFFSET. Instead we
have to use a subquery workaround.
Add additional tests for pagination + conditions.
Fix additional failing tests under old SQLServer

The query transformation process requires decorators to be applied to
the original results when replacing the query with a copy as the
original query is what the end developer has access to.
Fix error in old SQLSserver.

Identity columns must be undefined.
Skip wincache tests if wincache.enablecli is off.

If wincache is disabled, skip the tests.
Using a more specific version of carbon
Starting to re-implement the Time class by extending Carbon
More cleaning up in Time class
Removed Time::toServer(), it promoted bad practices
Removing methods that are already implemented in Carbon, updating others
Removing Time::gmt(), it was an alias for toUnixString()
Removing more code that has no use any longer
Removing another couple methods from the Time class that have not good
use anymore
Reimplementing some methods and cleaning up
Fixing tests for toQuarter
Fixing timeAgoInWords tests
Removing tests for methods that don't exist anymore