Markdown generation is handled by Mustache templates

A docblock generator should really just take an AST and pass it off to a templating engine. This PR removes all hardcoded string manipulation to generate markdown. We keep `analyze()` to transform the AST into a more usable form since templates are logicless.

Current output for test.js:

foo
---

Can I get some description please
  on more than one line, if possible.

foo.bar() 
-----------------------------
I so cool

Deprecated 

**Returns**: Boolean | null, I so cool

foo.testNamed(file, optional) 
-----------------------------
This is a test function
  with a description on multiple lines

**Parameters**

**file**: String | null, filename to parse
                       this parsing thing is funny business

**optional**: Boolean | null, Changes behavior

**Fires**: module:foo#event:one_thing

**Fires**: module:foo#event:another

**Fires**: module:foo#event:booyah


foo.testAnonynous() 
-----------------------------
function without name

**Returns**: String, the result

foo.testAnon2() 
-----------------------------
second function without name

**Returns**: String, the result

foo.func1(a, b) 
-----------------------------
Can I get some description please
  on more than one line, if possible.

**Parameters**

**a**: the first param

**b**: the second param

**Returns**: the result

foo.func2(c, d) 
-----------------------------
Can I get some description please
  on more than one line, if possible.

**Parameters**

**c**: the first param

**d**: the second param

**Returns**: the other result

foo.testDeprecated() 
-----------------------------
This is a deprecated function.

Deprecated 


---

*(c) 2012 Blah Blah Blah*

**License:** MIT Joe Schmo

**Overview:** What's up?

**Version:** 1.0.1

Subtle but important change. This allows us to pass the entire tag structure to the templating engine. In these case statements, we simply default certain fields and generate additional fields as needed.

This means that fixing #28 could be achieved by only modifying the appropriate mustache template.