Add an empty shapefile and an empty dbf file for extra testing.
Add extra test for empty dbf file.
Move expected test data into subs.

Signed-off-by: Shawn Laffan <shawnlaffan@gmail.com>
Reorganise the tests into subroutines.
Put the per-record tests into subtests.
Change to a no_plan test plan as this allows subsets of tests to be run more easily (need to implement that).