don't add an underscore to a partial's basename if has one already

This is so you can easily call render or partial on a path that
includes the underscore and it will work.  This is necessary to
port legacy `partial` commands in handlers to `render` commands and
still have them reuse a common path with template `partial` commands.

@jcredding this came up while porting an app to this new Deas api.  ready for review.