site: added __getstate__(), __setstate__() to Site

This enables pickling/unpickling capability.
site: added __eq__(), __ne__() to Site
tests/site: added a test for pickling Sites
tests/site: corrected a test case class name
site: added 1e-12 numerical tolerance for site eq

Site's _eq__() is now a bit more robust and handles float precision
comparisons better, with 1e-12 absolute tolerance.
site: added doc to note that Sites are pickleable
site: removed an unused variable
Merge pull request #74 from larsbutler/pickleable-sites

Make Sites pickleable

[r=matley] [f=1084050]
site: added __str__() and __repr__()
calc/disagg: handle a case where no ruptures occur

Added handling for a case where sources produce no ruptures, which
means that no disaggregation results should be produce. In this case,
we just `return None, None` (bin edges and disagg matrix, respectfully).

This patch is meant to address the core issue noted in
https://bugs.launchpad.net/openquake/+bug/1084025.
tests/calc/disagg: test for no ruptures case

Added a test to exercise the case where no ruptures occur (which
means there is no reason to compute a disaggregation matrix).

The test also checks that a warning is issued when this case is
encountered.
Merge pull request #73 from larsbutler/disagg-no-contrib

Disaggregation: Add handling for cases where sources/ruptures do not contribute any hazard

[r=matley] [f=1084025]
site: fixed a minor doc building issue in Site
Merge pull request #75 from larsbutler/trivial-site-doc-fix

Fixed a minor doc building issue in Site

[r=trivial]
site: SiteCollection is now iterable, yields Sites
site: added a note about SiteCollection depth info

SiteCollections explicitly drop depth information for the Sites
they contain. I added some doc to explain a bit more thoroughly
why this is, hopefully to serve as a warning to the user.
tests/site: added a test for SiteCollection iter
site: revised SiteCollection doc about depth info
tests/site:

Added another test case for SiteCollection.__iter__() to explicitly
show that Sites produced from a SiteCollection will have a 0.0 for
their depth.
Merge pull request #76 from larsbutler/iterable-site-collection

Iterable SiteCollections

[r=matley] [f=1084024]