Use empty() instead of isset() for 2nd param of dpa_get_template_part()

This is a string, not a null var, so treat it appropiately.
New approach to content replacement for theme compatability.

Rather than juggle the post global and post content around in two
procedures, set post_content via dpa_theme_compat_reset_post().

This reduces some complexity, avoids nested shortcodes, and fixes
shortcode and the_content filter conflicts.

All props to bbPress revision 5043