moving to a more flexible set of templates and functions for generating the content in the main top level item tables

right now observables shows correctly.  the other tables should retain their old columns, but the html td cells are a little messed up.
updated top level table calculations for observables, indicators, ttps, and campaigns.  still have to do threat actors (and other not specified tables)
added support for revised threat actor columns in top level table

this is in support of issue #17
fixing up TTPs.  they weren't actually updated to show intended effect. fixed now.
in support of issue #17
made the top level table column for "type" have an auto width (not the fixed 20em width)

this is for issue #17
added support for incidents for the updated column layouts (in supporto of issue #17)
updated columns for course of action items in the top level tables

this supports issue #17
updated the columns output in the top level table for Exploit Targets

(supports issue #17)
updated the default top level table rows to print title/type/id.

(supports issue #17)
deleted calculateColumn[1-3]Content templates since they were replaced with a more general (and easier-to-understand) way of generating the three columns for the top level tables.

supports issue #17
fixed up the handling of missing titles for all the top level types.

the xslt/xpath is much cleaner for this test too (now using a single xsl:value-of with an xpath if-then-else in the select attribute; whereas before, this was done only on a couple item types and it was more complex using xsl:choose)

this supports issue #17
removed left padding on page (the default styles still indent the page a tad -- that's needed for the page to look ok).

this fixes issue #18
updated the way campaign names are handled so that multiple names are printed out in a usable fashion (concatenated and separated with semicolons)

supports issue #17
broke out the xslt that's used to produce the top level tables into it's own xslt file.  this will make it easier for new developers to jump into the code and find the necessary pieces to make updates.

supports issue #17

(no functional changes in this commit)
slightly decrease the overall font size.

- set font size on body to "smaller" (could also use a percentage or absolute size).  both "smaller" and a percentage respect the browsers default font settings, so if the user has customized this, it will be relative to their default font size (useful if the user has a hard time reading and has bumped up the font size).

- set table's font size to "inherit" (because many browsers override the font size of tables and do not inherit from parent content)

- removed explicit font-size values on a couple css rules

fixes issue #19
fixed issue #20 by doing a few things:
- now formatting .StixDescriptionValue the same way as .description.  This is now done in stix_to_html.xsl and is conditional on the stylesheet parameter "$enablePreformattedDescriptions"
- also removed the formatting that set the description to have a fixed width.  it will now resize with the parent table cell.

also addressed some margin/padding issues from issue #18
- in some browsers, the top level tables were overflowing their parent div.  this was caused by the margin being set and the width being 100%. the result was there was either no space or very small space on the right of these top level tables.
reduces the body margins from 2em to 1em

also supports issue #18
quick first cut at allowing stix-to-html to process cybox documents as input.

header data is not handled yet.

this supports issue #22
replaced references to "STIX" with "CYBOX" in page title, heading, version column heading.

made stix heading only show up for stix documents

supports issue #22
updated the metadata header to calculate the version using either the stix or cybox version depending on the document type

supports issue #22