Modify .update() to handle expanded content

Now rather than always truncating when calling .update() we update the
cached property as before but if the content was originally expanded
we restore it at the end of the method.

We also split out the collapsed and truncated states into seperate
variables as they are individual properties of the object. It is
sometimes useful to know when the content is truncated even though
it is expanded for example.
Use .update() to recalculate original markup

This applies if the container is currently collapsed and the markup
inside the element has not changed since the last time .update() was
called. This is especially useful for recalculating the container
height when the parent/window has been resized.
Update the documentation for isTruncated and isCollapsed
Remove duplicate line from .collapse()
Merge pull request #4 from readmill/update

Modify .update() to work when called on an expanded container.