Add Open() options, flock timeout.

This commit changes Open() to provide an additional Options argument. The options
argument currently only has a Timeout which will cause the Open() to return
ErrTimeout if a file lock cannot be obtained in time.

Fixes #207.
Change Bucket.NextSequence() to return uint64.

This commit changes NextSequence() to return a uint64 instead of an int. This also
removes the ErrSequenceOverflow error condition since overflowing a uint64 is unlikely.

Fixes #39.
Merge pull request #209 from benbjohnson/next-seq-uint64

Change Bucket.NextSequence() to return uint64
Merge pull request #208 from benbjohnson/open-timeout

Add Open() options, flock timeout.
Add DefaultOptions variable.

This commit adds an explicit DefaultOptions variable for additional documentation.
Open() can still be passed a nil options which will cause options to be change to
the DefaultOptions variable. This change also allows options to be set globally for
an application if more than one database is being opened in a process.

This commit also moves all errors to errors.go so that the godoc groups them together.
Merge pull request #210 from benbjohnson/default-options

Add DefaultOptions variable.
copy receiver stats in Stats.Sub()
add some guards for nil pointers