Base implementation of exitToBroadcast() to call exit().

This simplifies the logic in application.exit(). device.exitToBroadcast() is
now always called if there is a broadcast history. exitToBroadcast() is responsible
for calling through to exit() if it hasn't been overridden.

One Application test is now redundant, and an existing Device test has been modified
specifically to test the new functionality (it passed previously but was not specific
enough).

Added a proper JSDoc comment to device.exitToBroadcast().
Simplify the Historian logic for hasHistory()

Before, the functionality of hasHistory() overlapped with that of hasBroadcastOrigin()
in the Historian. This change refactors hasHistory() to call on hasBroadcastOrigin()
instead.
Merge pull request #64 from fmtvp/exit-to-broadcast-refactor

Refactor and simplify the 'exit to broadcast' functionality