Adding CCDA generation to BB.js using EJS templating

The CCDA Generator can now successfully take several CCDAs that
pass the TTT, convert them to JSON, convert the JSON back to CCDA, and still pass.
That doesn't mean all of the data makes it through – some sections that BB.js
doesn't parse are left completely blank and other pieces of data that BB.js
supports are also left out of the template (like participants of a on a particular encounter)
because it makes it easier to produce a validating CCDA.

There is also a simple test for CCDA generation which
verifies that our expected CCDA json, fed into the generator,
consistently produces the same XML.

This builds off work by @kachok
Include README instructions for CCDA generation and copy the EJS template into the build folder
Makes a host of changes required to produce CCDAs that meet all of the
MU 2014 requirements for an ambulatory EHR, along with weaker attempts
to provide for compliance with requirements for an inpatient EHR.

This means:
1. Better support for empty sections (generally, instead of leaving out
   the section, a valid CCDA should include the section plus a special
   placeholder entry, or no entries, dpeending on the section)
2. Improving the code for addresses and phone numbers (to better deal
   with lack of data)
3. Improving the data available in some existing sections
4. Adding recognition for new sections we previously ignored. These
   include the care plan, functional status, and instructions.(In general,
   I tried to add all sections I added to the generator to the
   parsers as well. The main exception is the "meds administered during
   visit" section, which I continued ignoring in the pearser for now)
Minor tweak to encounters in CCDA generation.

This was left out of that last, big rebased commit
by accident, but since the branch is pushed remotely
now, it gets its own commit.
Parse medication schedule, which is necessary to get a proper
sig out of most CCDAs. Mostly copying work done by @melcher on #58.
Correcting the identifying ID for CCDAs

Turns out the ID we were using ("2.16.840.1.113883.10.20.22.1.2") just
describes the ContinuityOfCareDocument flavor of C-CDAs... but there are
several other valid types, such as ConsultationNote and
DischargeSummary. Prior to this change, BB.js would refuse to parse
those.

Based on my review of the spec, I believe "2.16.840.1.113883.10.20.22.1.1"
is the correct ID to check for. It's possible this is too broad and
maybe applies to other kinds of CDAs (specs are hard...) but it's
probably better to be generous than conservative here.
Adding myself as a contributor in package.json
Merge pull request #104 from elationemr/ccda_generation_mu2

CCDA generation from BB JSON, parsing of smoking status / functional status sections, parsing of medication schedules, and broader recognition of CCDAs