proper dynamic cache and file loading

We use a memoize function with expires for now
also added deployment things

using promises for finalizing a request and some other things now

Squashed commit of the following:

commit 14af1409994bad1362aeb64d2e90164011355837
Author: jeffrom <jeffmartin@gmail.com>
Date:   Fri Mar 28 22:17:56 2014 -0700

    fix jshint warnings

commit 20b7dc4b119245c2dd838bde605dddead4c7e432
Author: jeffrom <jeffmartin@gmail.com>
Date:   Fri Mar 28 22:17:47 2014 -0700

    add grunt

commit 00725bdf54da73c118ec52d79cd4caa6f5f35235
Author: jeffrom <jeffmartin@gmail.com>
Date:   Fri Mar 28 22:17:23 2014 -0700

    add gruntfile

commit 9bd6396fc7dfa6cedde38e5abf1920c67b3b4107
Author: jeffrom <jeffmartin@gmail.com>
Date:   Fri Mar 28 21:53:24 2014 -0700

    cleanup old code

commit f0979798e0cab08a5afad2201f2c87307726444a
Author: jeffrom <jeffmartin@gmail.com>
Date:   Fri Mar 28 21:38:07 2014 -0700

    add cache_timeout opts

commit fa0ae01721b15415a08b9d3a71d76f6f1c9bfe77
Author: jeffrom <jeffmartin@gmail.com>
Date:   Fri Mar 28 20:58:04 2014 -0700

    expiring cache functionality

    template loader and context handler

commit f80601b141780cd49a68aa0ab78de2343eb99886
Author: jeffrom <jeffmartin@gmail.com>
Date:   Fri Mar 28 17:26:00 2014 -0700

    finish request uses promises, modules from disk

commit 7b16815f99dd77c0273513bebf1f015550350c5f
Author: jeffrom <jeffmartin@gmail.com>
Date:   Fri Mar 28 14:49:48 2014 -0700

    checkpoint proper dynamic file loading

commit bff2879b1d231f8ec2103da11ab00bc95c9a7641
Author: jeffrom <jeffmartin@gmail.com>
Date:   Thu Mar 27 22:25:13 2014 -0700

    tweaks in prep for template loader changes

commit 96054d383cc1ae1b0c035d8af1c2be3fa1719370
Author: jeffrom <jeffmartin@gmail.com>
Date:   Thu Mar 27 22:12:47 2014 -0700

    make timeout even shorter

commit dae01733eb0a21fedeb0859415aa475678153fb8
Author: jeffrom <jeffmartin@gmail.com>
Date:   Thu Mar 27 22:12:35 2014 -0700

    better config.json defaults

commit 0d34f1d291489ae9f428871dc06b3417d6ff5a36
Author: jeffrom <jeffmartin@gmail.com>
Date:   Thu Mar 27 21:53:46 2014 -0700

    add timeout option

    also speed up the tests

commit 97a53862c12edc69ab12be84f304c9ecc62ead9d
Author: jeffrom <jeffmartin@gmail.com>
Date:   Thu Mar 27 21:53:16 2014 -0700

    copy array before shifting

commit 69383526263a746a30ac979255075e56ea86acc1
Author: jeffrom <jeffmartin@gmail.com>
Date:   Thu Mar 27 21:52:31 2014 -0700

    tweak imports

commit 93db330b7000dd01eb290d0204b7eb0a48ccac5c
Author: jeffrom <jeffmartin@gmail.com>
Date:   Thu Mar 27 21:52:21 2014 -0700

    add tern project file

commit 9cfb821c643ecf5ab3335bbeefef93b994c002d1
Author: jeffrom <jeffmartin@gmail.com>
Date:   Thu Mar 27 18:05:30 2014 -0700

    ignore vim session files

commit 3c4ac120e06651710a4c5546ca94c7893685936c
Author: jeffrom <jeffmartin@gmail.com>
Date:   Thu Mar 27 17:40:02 2014 -0700

    use strict for plugins

commit 58e96e7e9650e93d638a4f0a7128da133f58dbeb
Author: jeffrom <jeffmartin@gmail.com>
Date:   Thu Mar 27 17:39:13 2014 -0700

    use strict all around