Merge pull request #2 from wasabii/develop

Merged in changes made through ISIS project.
Squashed commit of the following:

commit 84e14927b9ae45ed20595fb51d386e5284ee73ff
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Mon Nov 11 10:12:02 2013 -0600

    Stripping of prefix kind of works.

commit e71ff70596368cb7d289c8bd1a45264e1f1dbc63
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Fri Nov 8 16:46:47 2013 -0600

    Working on figuring out bundle resource names.

commit 6b912cdb76aa9de1d7fac6f34f974285576c9983
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Fri Nov 8 11:25:57 2013 -0600

    Moved a bunch of resources out of .site

commit 622e1aa380d50cffaefefe4f7e60d02bf668e53c
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Thu Nov 7 19:56:17 2013 -0600

    Stuff

commit 74dbe9012a45dc51183d00192111053f2031afa1
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Thu Nov 7 17:30:25 2013 -0600

    Remove . from start of extension.

commit f10ee4fdec8d3a763bc834ef176a05651d15f503
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Thu Nov 7 17:16:31 2013 -0600

    Adding assemblies as Bundles.
    /r/ bundle module.
    UrlHelpers to pull /r/ url.
    RuntimeVersion class.
    MediaTypeResolver stuff.

commit ee36a8af6d3bd7ab2b5a724fa0353c72b48d4af1
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Wed Nov 6 18:01:33 2013 -0600

    AssemblyResourceModule moved into base Nancy stuff. Everybody now has access to /r/. Could probably use some relative URL tools of some sort to make this niftier. Probably also namespaces should be / separated paths.
    Compiled up the less file. This might fix the IE8 bug.

commit ced0133a71b8abe1673355082b02103a52196669
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Tue Nov 5 13:04:58 2013 -0600

    Stuff.
    Hopefully fixed another JS error with undefined value for date.

commit 625214f8bffaf467819d67fa969c5f98fd3e32f6
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Tue Nov 5 12:54:09 2013 -0600

    Few updates to packages. Not all of them, and not all are applied.

commit f52f36f99bf8251f657397de138630f463f99bd3
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Tue Nov 5 11:03:47 2013 -0600

    Missing packages file.

commit 0ed1ee7c4470e073c564a611e973fb469d48a22d
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Tue Nov 5 10:56:07 2013 -0600

    asd

commit 607c9861ffc4524aed48befe79c22578c6dc89ce
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Tue Nov 5 10:36:40 2013 -0600

    Code contracts.

commit 9ffbdb1e749e177d0c6731c54c3baaa05577468f
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Sun Nov 3 17:40:27 2013 -0600

    Yay.

commit 0fb62245645b23c3930b811defedad3b78c4fe94
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Sun Nov 3 14:35:23 2013 -0600

    Moved neighbor discovery into a NegotiationGraph type. The default one caches the neighbors. This can be overlayed by a MergedNegotiationGraph, to insert the arbitrary head/tail nodes, and avoid caching their results, so as to prevent memory leaks.
    Exposed Negotiation stuff as INegotiationService.

commit f8bddad833e4c2ed0dc4e5b1511eeb7f1e58566a
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Fri Nov 1 17:43:24 2013 -0500

    FUCKING WORKS

commit ea320a9afcb6529c8780ffbe20b2d5228ec73bee
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Fri Nov 1 09:36:56 2013 -0500

    Added FibonacciQueue.
    Most of the the negotiation stuff is done.

commit 8b46b49d93ab7c3dd74db070d198f9542391682e
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Thu Oct 31 19:43:00 2013 -0500

    Missing stuff

commit 41b206e0ead59978eaa9433a3613433cb0d1ab1a
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Thu Oct 31 19:38:16 2013 -0500

    Ooooh.

commit cd11b843c70451ba8db393cff343de95bba97623
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Thu Oct 31 10:15:34 2013 -0500

    Chaning this stuff around!

commit bf344cbc4840426e60a74cfc462e34877af29465
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Tue Oct 29 12:54:12 2013 -0500

    Some basics of custom error handling. Mostly at this point though at least the Nancy error page is gone.

commit 8d5753af885bca57408f8ed42e48b501fc676a9e
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Tue Oct 29 12:01:56 2013 -0500

    Added final page with congrats button.

commit f468051296073abbfe8de894cb7555374b837fd0
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Tue Oct 29 09:54:10 2013 -0500

    Almost works. Weird comparison problem. Using my own Dijkstra implementation this time around. QuickGraph's didn't fit.
    Added in a FibonacciHeap which I might very well use.
    Removed custom TypeConverter implementation. Replaced with ITypeNegotiable.

commit a6e09a020d29b2b795b6b074439790cc39f2ea54
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Mon Oct 28 19:19:20 2013 -0500

    Negotiation framework. Kind of bad-ass.

commit bc537b683098b5375131d77778bdca6d6055429b
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Mon Oct 28 09:53:33 2013 -0500

    Well, that works. Can convert from any type to any other type. This raises interesting questions...

commit a9f206364b21844754b9f0be3d8f726d12b508f0
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Sat Oct 26 00:11:57 2013 -0500

    Bunch of new interfaces for Graphs to model... graphs.

commit 8e9c1761cfcc47688406e3a9dae11cb2a20e98ba
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Fri Oct 25 19:34:07 2013 -0500

    Routing stuff. Unsure where this is going.

commit 38459ae6dd047fc2069bf4489abd551f5379b71e
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Thu Oct 24 17:38:49 2013 -0500

    Added some missing images.

commit ba29dadd78a8b5ca2b8711eded38f62a1cdaefc8
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Thu Oct 24 17:08:18 2013 -0500

    Beginnings of resolver.... not sure, this seems hard.

commit 487ef5b0cf7ebb020ee1158599449f81d575eab5
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Thu Oct 24 16:20:33 2013 -0500

    Various stuff!

commit cc62a0b6c6a7efde1339e35a583196eed93fb32c
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Thu Oct 24 16:12:24 2013 -0500

    Missing stuff. Minor fix

commit a96873de07bfe0563392ea6983644c70701f5d11
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Thu Oct 24 16:10:47 2013 -0500

    Removed the package stuff.

commit 4f28ba1944008cb09c8ad485d9a22ce63d6eb3c0
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Thu Oct 24 11:37:37 2013 -0500

    Hashcode.

commit 4819990f330e4175fa41ce306a13ca752ee49f86
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Thu Oct 24 09:50:29 2013 -0500

    Resoruce stuff.

commit 537835b76eaee0d61af40c5b32c1877e2decb42a
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Wed Oct 23 19:04:58 2013 -0500

    New resource model. The basic idea here will be a way to query for a resource, with a given package name, and get back a set of available resources... which might then be objects of various types, either streams, byte arrays, urls.... the framework can figure out what it wants to do. Should be able to build a dependency hierarchy of some fashion.

    The resource thing will be additive. You can have duplicate resources available. That's fine. The consumer is responsible for querying for the proper types, checking dependencies, etc. So, some JS script can depend on some other JS script. One might be provided by a relative URL.... which Nancy's Razor engine would interpret as a relative url to the site. Maybe one is an absolute URL to a CDN. Something could be used to verify it's availability, and then either return the CDN URL, or download the file into a cache. Something.

    So, you could have a resource provider for the Google CDN... which would magically expose whatever is available on Google APIs. And then a local one. Some sort of priority system. Maybe some are in assemblies.

    Also implemented Cogito.Version to represent versions. Cogito.SemanticVersion is available but doesn't really do much. Should implement a parser and better compare logic.

commit f2e097902626dd155e3d81615eeb6e0236ea0983
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Wed Oct 23 14:37:37 2013 -0500

    Enable CCwriter during release.

commit 8b83e5c5b74b48a0824938f4451cee0c9b94dcee
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Wed Oct 23 14:22:21 2013 -0500

    Fixed up inner template type so helpers can be used again.
    Implemented a neat validation model on Knockout. Using it now.
    Added help-block text to fields for error messages.
    Using new knockout validation model.

commit d0a865d4eff4a972ae1e9feeab15f85b496ede16
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Wed Oct 23 10:02:09 2013 -0500

    Introduced a type converter to handle gender strings to gender. This may or may not be a decent idea.

commit ff9381b687c35ba66bb4980827fc80316c5e9ffc
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Wed Oct 23 08:50:12 2013 -0500

    Allow case insensitive member name searches.
    And use this in model binding.

commit 11c483ff0d992b0e44502324243d4c27a9071527
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Wed Oct 23 08:38:10 2013 -0500

    Allow sections in Razor views to stick around through multiple levels.
    Merged Dictionary to make that a bit easier.
    Style changes overridden using bootstrap.
    CVV2 popover.

commit 688c541422a9852d2751a31e812aec9994f5c143
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Tue Oct 22 16:03:04 2013 -0500

    Enabled both querystring and JSON stuff.
    Fixed up view model. Works good now.

commit b3a3ab476cd2f967787c40d505e709c3b8cbdad5
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Mon Oct 21 17:33:25 2013 -0500

    Added server side validation: broken.
    Switched back to bootstrap. Semantic UI is kind of wonky.
    Included a bunch of jQuery stuff.
    Knockout stuff is mostly done. Considering Kendo for some controls.

commit 2eaf4e7189f48f805990c1219502b04c37a0da65
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Fri Oct 18 19:30:00 2013 -0500

    JSONify stuff.

commit f969a368813102ccbf5ea015e42ed9bfd96414d9
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Fri Oct 18 15:07:44 2013 -0500

    Fixed up binding.

commit 3bd4536f835cce1aaccc54dc1afaee3505a47db7
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Fri Oct 18 13:24:28 2013 -0500

    Missing contracts.

commit 4ae0fc58851ec01965d4101f819d4622243a37b6
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Fri Oct 18 13:22:55 2013 -0500

    Added the CodeContracts package.

commit 9164d77c9873ce90cfa94e1ff78f4c90ee3389b3
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Fri Oct 18 12:24:22 2013 -0500

    Put reflection context back.

commit b3c64dfbc4d7f3095f353fa4bd4f68134fa89573
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Thu Oct 17 18:21:00 2013 -0500

    Stuff.

commit 28ba1e01f80b6744eb152b305fffaf5ef494881d
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Wed Oct 16 17:23:01 2013 -0500

    Introducing view model for form stuff. So I can resolve urls and stuff.

commit 38e86402b3636998c10b8f78679cd8d856966368
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Mon Oct 14 18:21:47 2013 -0500

    semantic UI update.

commit d82ce17b704e8c07e6318fd9b0f3768be9480099
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Mon Oct 14 09:28:18 2013 -0500

    Model binding against property expression thingies.

commit 0c88a15b91afe5319f8a4917adec9656eee5b8a1
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Fri Oct 11 18:14:12 2013 -0500

    form/{FormId} generates a new model.
    form/{FormId}/{InstanceId} loads an existing one.

    FormHandler does a lot of work on it's own, including binding to received data. Quite cool, really.

commit ec8efb55138ee9e28fa4247493e4de350b99c278
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Fri Oct 11 16:22:49 2013 -0500

    Migrated most of the Nancy base stuff to Cogito.Nancy and Cogito.Nancy.Razor where it belongs.

commit 53f4ab740eeb3dd174eccb08b5a9b3f4e46ef762
Merge: 0e2f1c2 b6bbcd9
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Fri Oct 11 14:57:03 2013 -0500

    Added semantic UI.
    View providers now querying for full exports, resolving view types, and returning those. Recursion detection implemented, so that a view layout can cover any other view layouts, but never be included twice.

commit b6bbcd96980e8fd8ccfcc004c0ddd8df76d7c336
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Thu Oct 10 20:33:26 2013 -0500

    Layout view searching by interface. Quite nice.

commit 0e2f1c2f2a41a2e548e504d81bc1338e9ea95f37
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Thu Oct 10 15:59:41 2013 -0500

    Contracts.

commit 37c2ecbab2c65fd67e053c0138e2b053f9051894
Author: Jerome Haltom <wasabi@cogito.cx>
Date:   Wed Oct 9 11:23:53 2013 -0500

    Imported the Irony grammar to parse @attribute. That works. Kinda neat.
    Added some Irony extensions in a new Cogito.Irony project. Should try to get these upstream.
    Separate LayoutProvider thing for finding the layouts. Unsure about this. Lots of ways to go about it.

commit 7946f5d89a7cc8f63a5245f6523970c25abe066e
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Tue Oct 8 19:23:14 2013 -0500

    Blah!

commit 46cdaed1eab36a98597013b27c1283e068817e45
Author: Jerome Haltom <jhaltom@isillc.com>
Date:   Tue Oct 8 19:12:40 2013 -0500

    Custom attribute directive on Razor stuff. Moved that infrastructure into Cogito.Web.Razor. Not yet finished. Need to figure out how to actually generate CodeDOM representation.
    Intention is so you can decorate stuff with attributes in such a way as to specify layout and parent shells and all that. Interesting idea!