Migrating app to express 3.x with everyauth
Implemented memcache and file cache for controllers and api calls
Made file be a failover cache store
Fixed the views rendering for all modules.
All API methods are now working with cache and flushing based on configuration
Added a CacheStore in front of Cache adapter, plus fixed failover based on priority set in configs
Added a db adapter to the cache stores
More fixes to failover and restore.
Restructuring the code to be more modular
Fixed cache disabled state
Installed mocha and jscoverage
Added expiry for the db and file cache adapters
First try at unit testing and code coverage
Second try at unit testing and code coverage
Third try at unit testing and code coverage
Fixed code coverage, turns out jscoverage does not like coffee
Added the option to disable cache per controller
Added few test files
Created a factory method for JsonRpcRequest to be able to switch between internal and external calls based on service.
Also added SMS notification on fatal errors when in production - PTV-237
Issue #PTV-300 - JSON RPC client - Switch when calling self or external
Added a check for external api errors
We can now make and handle bulk and single jsonrpc requests
Added a fix for handling internal requests to not go through the url but internally
Fixed a small error with DbAdapter when flushing cache
Added a service configuration that gets the service name form the server path and gets used for emailing errors and sms's
Changed caching to use service when generating namespace so that we can have different cache for staging and live and that we can share the cache between services
Issue #PTV-298 - JSON RPC server/client - Bulk calls
External Cache handling:
1. When we make a call to an external service first thing we do is check if we have a local cache
2. If call is bulk we go through each individual call and check for cache, if cache found we remove that call from bulk list and sends only calls that do not have local cache
3. Each service updates it's cache config file on s3 and then other services that know about that service read the s3 file and update their local cache by first dropping the old one.
4. Each response contains cache parameters which are used on the remote service for it's local cache.

Process is:
1. We create the external call bulk or single
2. Before the call is sent we check for local cache and if we find any we remove those calls from list.
	a. If no calls left we build the response locally using the cache and send it back
	b. If some or all calls still in list we make the request to the server
		- server checks it's cache and returns results for whatever it found else it makes the needed computations and them returns the results
		- after all results, error or not, have been collected we build the response and we send it back
		- back on the local side we add the locally cached responses to the one we got from the external server and we send the result back
3. When the request receives a response it parses it down to individual calls and if any of those have callbacks they get called
4. After the call we check if the individual response was cacheable and we cache it locally for future calls
Issue #PTV-301 - Controller cache internal/external
Added a profile for each controller.
All performance data is stored in a local mongodb as averages/means
Issue #PTV-239 - API - Seti weight, process time, cpu collection / logging
Update the code to run on Win machine.
Memory leaks optimizations for bootstrap.
We can now add profiler stores and switch them based on configuration
Currently it only supports MongoDB
Issue #PTV-239 - API - Seti weight, process time, cpu collection / logging
Modified controllers to register their resource usage to the total available resources. If no resources available the controller execution will wait using process.nextTick() until resources free up.
Added an error message logger so that we know when server resources are running low.
Issue #PTV-299 - JSON RPC server - Flow control based for sync or async calls