Make construct method abstract and add simple builder examples.

Making construct abstract makes it more obvious that subclasses need to
implement the method. A consequence is that extensible builders must be
abstract (since they don't implement construct() directly).