Date range label tweaks

* Removed space around date separator, e.g. Apr 15-21, 2013

* Both years show on year change e.g. Dec 30, 2002-Jan 5, 2003

* Bumped label position to be right-aligned so that it fits cleanly
  into the rightmost quarter of the page--useful for when I fold the
  planner up into quarters for pocket carry

* This changes the magic MD5; I've updated it
Marked part of Week private to aid refactoring
Docco and remove extraneous parens
Drew out PlannerApplication class

* This replaces the poodle.rb includes file with an actual
  PlannerApplication root class, which current only parses the date
  before passing it on to Planner

* PlannerApplication and Planner both take opt hashes as their
  construction parameters now. This gives us named arguments and gets
  away from dependence on argument position, but it is pretty tedious
  in 1.8. Can't wait to port this to 2.0

* PlannerApplication accepts :class => Planner as a DI argument,
  allowing us to mock up the planner object that it will work with
Cleaned/tightened calculate_beginning_of_week
Extracted file writing duty to PlannerApplication
Extracted PlannerTemplate class from Planner
Extract PrawnWrapper from Template, clean Week

* Created a PrawnWrapper class and made PlannerTemplate use that
  instead of interacting directly with Prawn

* Removed prawn_patches.rb. WOOT! This means there are NO
  monkeypatches left in the code! Not that monkeypatches aren't great
  when they're needed, but this one has been cleanly designed around
  (the other was promoted to gem status as scoped_attr_accessor)

* Pulled formatting code for Week out of week and into
  PlannerTemplate. This still feels a bit weird, but either Week has
  to know how people want to format its dates (the old, bad way) or a
  template has to know that it can reach into Week and get its first
  and last date. This second way seems less bad, if for no other
  reason than I expect Week to become a very stable class while
  Template will shift constantly with my design whims over time. So
  for that reason I'm invoking the rule of "depend on things that
  change less than you do" and reversing the dependency from
  week->template to template->week

* Week also now offers a days method, which template uses to get all
  of the days to be shown on the planner
Extracted format_day method
FINALLY got to change the design!

* Widened page a bit, got a few more lines on the page

* This changes the magic md5 checksum, natch