Adding type information for thread pool bad alloc
Demangling type information for bad allocation logging statemenet in thread_local_global_pool
orly/pacakage/manager: Isolate package pre install step properly

Previously we would tell via callback that a package install succeeded
even if we then threw when loading the next package. This made it so
there was no possible way to rollback / you could end up with half
installed packages.
pckg -> pkg
package/manager: Make the package manager report to the pre_install steps if it's a new package version

New package version is true if it's an upgrade or new install of a package.

Fixes #70 as well.

NOTE: This is very fragile. If a user installs two independent compiles of the same package all the index id mapping stuff will blow up.
orly/package/manager: Make reinstalling the same version of a package a noop

Makes it so we don't reload packages which could cause considerable issues.

Also makes it so end-users can basically assert the packages they want are always installed before making calls by always calling install before calling into a package (Although this will waste excess cycles as the installed package set is copied).
Log to syslog when the package manager no-ops on a 'install package' request
Remove references / usage of <base/potato.h>
Remove <base/potato>, now unused / replaced by std::shared_timed_mutex
Merge pull request #76 from cmaloney/issue-70

Fixes #70
Merge pull request #86 from cmaloney/remove_base_potato

Remove base potato
Adding demangle include for thread local global pool logging
Merge pull request #78 from jmlvanre/thread_pool_logging

Thread pool logging
jhm/naming: Make a simple holder type alias for extension lists
Move GetCwd to base/path_utils.h
jhm/naming: Remove unnecessary check now that GetCwd is tested to not have a trailing '/'
base/stl_util: Wrap STL pop() to make it convenient
Allow <base/thrower.h> to throw exceptions which don't define GetDesc

This makes it so that standard exceptions can be used with <base/thrower> directly.

Also add a unit test for throwing standard exceptions.
Remove FindOrElse function.

No one uses it, and it's equivalent to .at() with C++11. Thanks @mpark
Merge pull request #85 from cmaloney/misc_work

Lots of miscellaneous changes