added is_square check to is_identity
Ensure that printing Dicts doesn't depend on key order of the wrapped dict.

Everything was already in place, except that Dict.__str__ and Dict.__repr__
were shadowing the printer methods.
Sort args of Booleans with default_sort_key in ccode()

+ Add spacing for readability
test_solvers.py: don't rely on Symbol.__call__()

Callable Symbols are a hackish feature we'd like to get rid of
at some point (cf. issue 440), so let's avoid writing tests
that rely on this.
3029: Sort args of boolean functions for latex and pretty printing.
Let the assumption system handle commutativity of symbols.

The attribute 'is_commutative' of Symbols was hidden from the assumption
system. Fixing this allows correct inference to happen:
>>> x = Symbol('x', commutative=False)
>>> x.is_real
False

and prevents inconsistent assumptions like
Symbol('x', real=True, commutative=False) from being set.

This changes the hash, so a number of tests and doctests need to be
modified.
Clean up sympy/core/test_assumptions.py
fix failing mechanics doctest
make manual solution canonical and more robust

    If a CoercionError is raised when trying to solve a system of
    equations, a NotImplementedError is raised so that the equations
    get added to the failed equations.

    The failed equations are now sorted to make the manual solving
    process more canonical. Ties are broken by count_op length and
    then by the default_sort_key.

    The condition that eq2.is_number be True was removed since
    an expression might be a symbolic zero. (A test failed without
    this change after making the canonical change.)
fix failing doctests
Change coverage_doctest.py implementation

coverage_doctest.py currently uses a parsing based approach
to get list of files in a module(folder) and then parse each
file to find occurances of methods/functions. This has an obvious
flaw that parsing is ambiguous. Hence the plan is to change the
current implementation to reading a module and getting list of
methods/classes/functions/and what not using __import__, __doc__
,inspect.
Modularize code and format output for classes

I have taken the following steps to improve readibility of code:
* Create a new function, _is_skip which can handle if an object
(class/def) should be skipped for consideration.
* Format the output for classes into Missing Docstrings and
Missing Doctests.

The current test for Doctests is as same as before, if we find a
string '>>>' inside the docstring, we say it has a doctest
otherwise not.
Include functions in coverage; modularize printing

Functions have been included in the reporting framework,
though I still have to ensure that functions are skipped properly.
I found the earlier implementation of skip excessive, where ONLY
startswith('_') should suffice.

Printing report has been made another function. In further steps
I will be trying to combine function and class coverage/reporting
because in essence both work simply over __doc__ strings, and their
pruning mechanism looks same.
Use dir() builtin to find members in module; recurse on classes

Using dir() builtin to find out all members of a module. Also,
instead of listing functions and classes separately -- we use
a single loop to check each memeber for which category it belongs
to. Additionally, if it is a class we recurse to find all methods
inside it.

Also, the printing of output has been made prettier to reflect which
class a method belongs to, functions are bare as expected.
Add scoring to modules

Current scheme of scoring includes all members of a module
(function/class/methods) as entities and the amount of coverage
is defined as total documented entities by total entities.
Create helper function to print out headers

Current underlining was erratic. Changed the underline
to the size of text it was underlining. Also created a helper
function to make code cleaner.
Let os.path handle path -> module name conversion

Replacing path separators by dot for coversion to module names
is scary by using regex based search. os.path.split gives a
handy way to recursively stitch parts together. This handles
edge cases such as trailing slashes etc.
Add verbose mode

Verbose mode is enabled, and the default output is non-verbose.
Show original exception if module fails to load
Add indirect doctests

* Indirect doctest support added
* Printing (verbose) includes doctest now
* Fixed minor issues with has_doctest list, though it is not being
used currently