[Requirement #8151] - Ensure source code repository is managed correctly

Creating Yen branch
[Requirement #8151] - Ensure source code repository is managed correctly

Moved some changes over from changeset eca2609b9f413a98afea7e08ca3dd555d20c7d82 in the original Yen branch (now defunct) to the new Yen branch, and made some other changes, all just fixing build breakages.
[Requirement #10140] - The application must be able to auto-generate MRNs for new patients

 * Factored out a base class for sequence brokers, and added a new MrnBroker.
 * Added support for auto-generating MRNs.

Note: these changes were moved over from changeset eca2609b9f413a98afea7e08ca3dd555d20c7d82 in the original Yen branch (now defunct).
[Requirement #10143] - The application must be able to auto-generate visits for new orders

 * Added support for auto-generating visits.  The OrderEntrySettings.AutoGenerateVisit property must be set to true.  The auto-generated visit will have a patient class of N.
 * Also made some changes to preview.js and visit-detail.htm, to make display of visits more robust when not all of the information is necessarily present.

Note: these changes were moved over from changeset eca2609b9f413a98afea7e08ca3dd555d20c7d82 in the original Yen branch (now defunct).
[Requirement #10142] - The application should support manually attaching documents to patients and orders

 * Added support for manually attaching documents to patients and orders.

Note: these changes were moved over from changeset eca2609b9f413a98afea7e08ca3dd555d20c7d82 in the original Yen branch (now defunct).
[Requirement #10141] - After a new patient is entered manually through the GUI, the application should be ready to accept a new order

 * Modified the PatientAddTool so that, instead of opening the biography, it invokes a search based on the MRN of the new patient, causing the newly created record to show up in the search results. The user can then create an order from the RCCM.

Note: these changes were moved over from changeset eca2609b9f413a98afea7e08ca3dd555d20c7d82 in the original Yen branch (now defunct).
[Requirement #8812] - RIS Workstation hangs when patient is selected

 * Traced the cause of the hang to a particular line of code in the preview.js file. It is not clear why this line causes IE to hang, as it looks like perfectly valid HTML.  I suspect the bug is within IE itself.  Regardless, making a small change to this line of code seems to work around the problem without any adverse effects.

Note: these changes were moved over from changeset eca2609b9f413a98afea7e08ca3dd555d20c7d82 in the original Yen branch (now defunct).
[Requirement #8151] - Ensure source code repository is managed correctly

Fixed some more issues that arose from merging code - these were not build breakages but runtime issues.
 * The RIS SessionManager.SessionStatus property need to be implemented.
 * The report-detail.htm page was broken.
 * The Field.show() method in ui.js was broken, in the sense that it would only work in one direction (when passed false) but not the other (when passed true).

Note: these changes were moved over from changeset eca2609b9f413a98afea7e08ca3dd555d20c7d82 in the original Yen branch (now defunct).
[Requirement #8151] - Ensure source code repository is managed correctly

Restructured build to use _dist.config and _critical.config pattern.
[Requirement #9726] - Ensure the source code repository is managed correctly
 * Merged an interim stable state of Marmot branch into default in preparation for Yen.
[Requirement #8151] - Ensure source code repository is managed correctly

Updated RisServerTeam.sln and all it's projects to use .NET 4.
 * note that this required changes to the code generator to resolve an ambiguity between the Iesi ISet interface, and the ISet interface that was introduced into the .NET framework in version 4
[Requirement #8151] - Ensure source code repository is managed correctly

Updated RisClientTeam.sln and all it's projects to use .NET 4.
[Requirement #8151] - Ensure source code repository is managed correctly

In order to get the RIS server to run, needed to rebuild NHibernate against our current version of log4net.

 * committing updated versions of NHibernate binaries.

Also modified the build script to use the _dist.config and _critical.config pattern.
[Requirement #8151] - Ensure source code repository is managed correctly

Added a readme file explaining that going forward we are maintaining our own copy of the NHibernate source code, in our internal repository.
[Requirement #10210] - Remove protocolling
[Requirement #10211] - Remove Preliminary Diagnosis
[Requirement #10213] - Remove patient reconciliation

Created new plugins Ris.Client.Workflow.Extended.*, and moved as much stuff as possible into these plugins.
[Requirement #10210] - Remove protocolling
[Requirement #10211] - Remove Preliminary Diagnosis
[Requirement #10213] - Remove patient reconciliation

Forgot move/copy icons in previous commit.
[Requirement #10222] - Booking

Moved the Booking workflow classes to the Extended plugin.  Note that some tools that were formerly available from the Booking folder system (add/edit patient, new order) are now not available.  We can add them back if there is ever a requirement to do so.
[Requirement #10222] - Booking

Forgot to move the BookingSearchFolder in previous commit.
[Requirement #10227] - Remove resident workflow

The resident workflow cannot be moved to a separate plugin as it is too tightly coupled into the main reporting workflow.  The best we can do is disable it via configuration.

 * added a new WorkflowSettings class, which will hold boolean properties enabling various aspects of the workflow.
 * added a property to this class called EnableResidentSupervisorWorkflow
 * added checks in a couple places in the code for this property - there may be other places where it should be added - haven't yet verified.
[Requirement #10212] - Remove transcription supervision workflow
[Requirement #10227] - Remove resident workflow


The transcription supervisor workflow cannot be moved to a separate plugin as it is too tightly coupled into the main transcription workflow.  The best we can do is disable it via configuration.

 * added an EnableTranscriptionReviewWorkflow property, and some checks for this property (although there are probably more checks needed)
 * renamed EnableResidentSupervisorWorkflow to EnableInterpretationReviewWorkflow