Multiple category support for components
- "category" accepts a comma separated list of categories or a single
  category
- preserves the name category in the doc blocks yml for backwards compatibility. That may end
  up seeming awkward, in which case we can change it, but it seemed fine
  for now.

Signed-off-by: Colin OByrne <cobyrne@pivotallabs.com>
Use YAML arrays vs. comma-delimited string for categories.

- Support native yaml arrays instead of post-processing comma-separated
  strings. Comma separted strings will no longer work for multiple
  categories!
- Allow key to be either category or categories.

Signed-off-by: Rajan Agaskar <rajan@pivotallabs.com>
Correctly create assets when output dir doesn't exist.

- Prior to this commit, if the output_dir did not exist then it
  would be nil for the entire build_docs, meaing the assets would fail
  to get a proper file handle to write to.
  (meaning, the first time you run hologram, it won't produce assets,
  just the asset directory).

Signed-off-by: Rajan Agaskar <rajan@pivotallabs.com>
Fix multiple category dupe bugs.

- When a parent has multiple categories, it will render its child
  multiple times. If its child has the same categories (which it will if
  there are *no* child categories), then it will render again for each
  category that the parent contains. (IE, if a parent has the categories A,B, when A is
  rendered, the child will render A,B and when B is rendered, the child
  will render A,B, thus duplicating the child in both A and B.)
- The fix here is to never permit the same doc_block to render content
  more than once in any given output file. N.B. This doesn't prevent
  end-users from duplicating doc blocks manually in the source, but this
  behavior has always been the case.
- Fix an instance where parent categories weren't correctly propagated
  to child categories, which might've hidden this bug in many
  cases.

Signed-off-by: Rajan Agaskar <rajan@pivotallabs.com>
Fix incorrect markdown ordering issue.

- With multi-category children, children could be rendered into
  categories in advance of their parents being rendered. Fixed the
  recursion logic so this will no longer occur by moving child rendering
  out of the category 'each' loop.
- This fix made it no longer necessary to guard against duplicate doc_blocks, since each
  doc_block should correctly be rendered just once.
Change template key name back to categories.

- Doesn't need to be @output_files_by_category

Signed-off-by: Rajan Agaskar <rajan@pivotallabs.com>
Document multiple categories
Merge pull request #99 from stubbornella/master

Multiple category support for components