Don't use singletons.

They're unneeded in all these cases, and arguably an anti-pattern.
Remove unneeded Base.sources. references within SourcePool.
Pass SourcePool options in when initializing instead of coupling it to Base.task.
Consolidate the four default sources in SourcePool.

Previously, #default and #standard had two each, with
duping too. Now there's just #default which is frozen.

closes gh-250
Remove unneeded Source.new hash args -- we only need two args, path & name.
Merge branch 'source-cleanups'
v0.15.7 - Template namespacing, TTYless specs, AWS apt sources, and /location:/i.

* Templates in the 'personal' and 'current dir' sources are useable without namespacing now.
* Stub $stdin.tty? to test Prompt, so that the specs run correctly when not on a terminal. (Thanks to Richo Healey).
* Only enable fuubar when on a terminal. (Thanks to Richo Healey).
* Don't replace AWS apt mirrors with the standard ones, so EC2 instanaces retain their default, fast mirrors. (Thanks to Lucas Chan.)
* Search for the Location: header case-insensitively when downloading in Resource, as per the spec; some servers use 'location:'. (Thanks to Brad Feehan.)
* Create npm's package dir after installing it, so that certain npm operations don't fail when it doesn't exist.