use Tag.get_text() instead of .string for datetime properties

When processing value-class-pattern for datetimes, use
Tag.get_text() rather than .string because the latter fails
when there are nested tags. This came up when processing
values on the wiki with nested <span style="display:none"></span>
elements.
Use implied date when dt-* has only time

When a dt-* property has only the time of day, use the most recent
parsed datetime's date as the default. Handles the dt-start and
dt-end case for h-events.
Merge pull request #40 from tommorris/master

updating from tommorris
Merge pull request #39 from kylewm/master

Bugfix for nested datetimes & Implied date for dt-* properties
remove spurious print statement
change BeautifulSoup requirement to BeautifulSoup4
ported backward compatibility classes and properties from php-mf2

Filled in the backward_compat module with class mappings adappted
from php-mf2. BeautifulSoup tags are augmented with mf2-style
classes before the usual parsing takes place.
fix encoding issue: utf-8 characters in backcompat comment
Merge pull request #37 from kylewm/backcompat

 ported backward compatibility classes and properties from php-mf2
convert 12-hour time to 24-hour when returning.

perform some other light normalization on the date time to make parsing
without python-dateutil of mf2util simpler

This addresses issue #42
dt-parsing: infer 00 minutes and 00 seconds

when a datetime has an hour but not minutes/seconds, as
per http://microformats.org/wiki/value-class-pattern#Date_and_time_parsing
Merge pull request #44 from kylewm/am-pm-parsing

Parse dt-* properties for am/pm fixes #42
Merge branch 'kartikprabhu/master'
IntelliJ IDEA added to .gitignore
adding hProduct backcompat support