Removed __eq__ methods for components, and tests

Following our discussion about the issues related to the use of the
__eq__ operator for comparison of components, the methods have been
removed. For the time being, Implementation of component comparison will
be made on a model/project basis until a better understanding of
model merging use cases becomes clear.

Tests in test_core.py that had been added in the merge have also been
removed.

Note however, that one test in test_core.py that was added in the merge,
test_compartment_initial_error has been retained; this test insures that
MonomerPatterns specified for an initial condition that are the same in
every aspect (sites, states) except for their compartment, are not
considered to be identical. Similarly, the line added to the
is_equivalent_to method of ComplexPattern that checks for the identity
of the Compartment associated with the ComplexPattern has also been
retained. Both of these additions were introduced in commit
75c1e42acc3afe828fd5539c5f5225392f0395c4.
Pattern + None returns Reaction Pattern, + tests

d-fan introduced changes to allow MonomerPatterns, ComplexPatterns, and
ReactionPatterns to be added to None. However, the implementation returned the
initial Monomer/ComplexPattern rather than a ReactionPattern. Here I convert
MonomerPattern and ComplexPatterns added in this way to ReactionPatterns using
as_reaction_pattern, and add the appropriate tests. Note that ReactionPattern +
None can return self, rather than as_reaction_pattern(self), because, well,
it's already a ReactionPattern.
Reverted doctest ellipsis for Solver

See @jmuhlich's comment on the lolab pull request at
https://github.com/pysb/pysb/pull/87. He fixed the root cause in commit
08aeae9b17b so this change can be reverted.
Refactored pore_species and chain_species into polymer_species

This simplifies the implementations of both polymer species functions
into a single function, where the closed/open status of the polymer
(i.e., pore or chain) can be specified using an argument to the
function, closed=True/False.

Because this involved changing the bond numbering scheme for pore
species, this required updating the doctests for the pore
assembly/transport etc. macros as well. Currently all doctests in the
file pass.
Refactored assemble_pore/chain into assemble_polymer

The code was almost completely identical between these two functions
other than the call to chain_species vs. pore_species. The refactored
function calls polymer_species and specifies closed=True/False.

Note that I also moved some code around to maintain a logical ordering.