If using javascript-based clamping, return object with clamped and original values

If you set useNativeClamp to false, the $clamp function now returns an
object with two values: clamped and original. clamped contains the
clamped text of the node, while original is a copy of the original,
unclamped text.
Add support for submitting a custom truncation character and truncation HTML.

The truncation character is the character used at the end after
clamping has been performed. By default it’s an ellipsis. The
truncationHTML property allows you to insert arbitrary HTML before your
truncation character. Both of these options require you to turn
useNativeClamp off.
Merge branch 'master' of github.com:josephschmitt/Clamp.js

# By Ned Baldessin
# Via Joseph J. Schmitt (1) and Ned Baldessin (1)
* 'master' of github.com:josephschmitt/Clamp.js:
  Fix: only truncate elements that need to be (…and don't apply an
ellipsis to elements that are short enough to fit in the available
space).

Conflicts:
	clamp.js
Update README with new truncationChar and truncationHTML options.