Remarkup: Allow Odd Line Breaks Before Blocks

Summary: If there are two or more consecutive line breaks (i.e. at least one empty line), the first non-empty line should be considered the first line of the block. Currently, that is not the case if there are an odd number of line breaks because the last empty line will be considered the first line of the block. This breaks things like HTML tables (which assumes the block starts with `<table>`), code blocks (which special cases the first line if it is `lang=something`), etc.

Test Plan: Ran unit tests successfully.

Reviewers: epriestley, vrana

Reviewed By: epriestley

CC: leebyron, aran, Korvin, keito

Differential Revision: https://secure.phabricator.com/D5814