CONTRIBUTING.md: some tips on writing patches and workflow

This patch adds a new section in CONTRIBUTING.md about some principles on how
to write / arrange patches.

"Git Help" section has some overlapped content with the newly added section so
change it to "Basic Git Workflow". Add in some more commands in the example.

Also fixed some upper / lower case issues while I was there.

Signed-off-by: Wei Liu <liuw@liuw.name>
Merge pull request #76 from liuw/update-contributing-md

CONTRIBUTING.md: some tips on writing patches and workflow
CONTRIBUTING.md: fix typo

Signed-off-by: Wei Liu <liuw@liuw.name>
CONTRIBUTING.md: rephrase a sentence

Signed-off-by: Wei Liu <liuw@liuw.name>
humans.txt: remove Menglong Tan from maintainer list

He once submitted a PR to do so but it was not merged because the PR was
not clean.

See https://github.com/pythoncn/june/pull/69.

Signed-off-by: Wei Liu <liuw@liuw.name>
Cc: Menglong Tan <tanmenglong@gmail.com>
humans.txt: fix typo

Signed-off-by: Wei Liu <liuw@liuw.name>
Merge pull request #77 from liuw/doc-update

These are rather straight forward changes so I will just push them without an ACK.
Clean up flake8 warnings

Run 'make lint' and fix all warnings and errors.

Signed-off-by: Wei Liu <liuw@liuw.name>
requirements.txt: more requirements

Introduce:
 * Sphinx for building documentation
 * Nose and coverage for testing
 * flake8 for checking coding style

Signed-off-by: Wei Liu <liuw@liuw.name>
gitignore: ignore coverage file

Ignore .coverage which is generated by code coverage test.

Signed-off-by: Wei Liu <liuw@liuw.name>
Makefile: mark all targets as PHONY targets

... as none of them produces a real file.

Signed-off-by: Wei Liu <liuw@liuw.name>
Merge pull request #78 from liuw/misc-clean-up
handlers/front: fix sqlalchemy query

If home_node_ids is empty, we can get:
SAWarning: The IN-predicate on "topic.node_id" was invoked with an empty
sequence. This results in a contradiction, which nonetheless can be expensive
to evaluate.  Consider alternative strategies for improved performance.
  return o[0](self, self.expr, op, *(other + o[1:]), **kwargs)

Querying on an empty sequence is expensive.

Signed-off-by: Wei Liu <liuw@liuw.name>
Merge pull request #79 from liuw/hotfix/homepage-query-clean-up
README.rst: update npm package installation instruction

I played with original instruction that installs nib in local directory, the
result is that npm is not able to find nib package.

Install nib package in global mode to avoid this.

Signed-off-by: Wei Liu <liuw@liuw.name>
Merge pull request #80 from liuw/readme-npm-package-install

README.rst: update npm package installation instruction
Add favicon
add AT sign in <a> tag
Merge pull request #81 from shonenada/user-link-with-AT-sign

Looks good, thanks.
Fix the typo in the settings template

SQLALCHEMY_POOL_RECYCEL -> SQLALCHEMY_POOL_RECYCLE