Merge pull request #87 from tanriol/fix-redefinition

avoid redefinition of entries
Fix toolbarbutton hover and active states for Australis on Windows
Update statement wrapper to the API changes in bug 1073358.
Fix undeclared variable warnings.
Update consumers to mozIAsyncLivemarks API change.

mozIAsyncLivemarks.getLivemark() has been changed to return a promise,
using a callback has been deprecated.
Fix errors: "can't access let declaration before initialization"

This has been caused by introduction of ECMAScript 6 "temporal
dead zones", see bug 1001090.
Fix "assignment to undeclared variable" error.
Remove support for the old Firefox theme.

Change minVersion to 29.0.
Migrate fist run code to Customizable UI API.
Update Brief icon sizes to fit Australis requirements.
Use the same icons in the Add-ons Manager as in the UI.

The UI uses the same icon sizes as the Add-ons Manager now,
so instead of storing two copies of each, let's remove the
icons from the root directory and use install.rdf to point
to the /skin package.
Remove toolbar button migration code to Firefox 4
Adjust the glyph size of the 32x32 icon.
Adjust toolbar button appearance to Australis on Windows and Linux.

Make sure the button looks good in all possible areas: navigation
toolbar, other toolbars, tab bar, dropdown panel, and customization
palette. Because of the toolbar button's custom structure, we need to
copy and adapt CSS rules from the default theme and we need to do it
separately for each OS.
Fix: customizing toolbar can break unread counter until restart.

Thanks to the CustomizableUI API it is now possible to easily detect
when toolbar customization is performed and update the unread counter
status.
Storage.processFeed() forgets to actually return a promise.

By a silly omission FeedProcessor never actually returned a promise
to StorageInternal.processFeed() - it can't because it is invoked
as a constructor! This means Storage.processFeed() hasn't returned
a promise as specified by the documentation, thus preventing
FeedUpdateService from counting new entries and showing a notification.
Fix another "can't access let declarion before initialization" error.

This one broke showing throbber on feeds that are being updated.
Adjust positions of arrow panels.
"Organize" button should always select home folder in Library

When Organize button is clicked, the Bookmarks window should be opened
with Brief's home folder selected. This is done by passing the home folder
ID as an argument when opening the window. However, the built-in code that
handles window arguments only expands the target folder - it doesn't expand
its ancestors, so often the user cannot see the home folder upon clicking
Organize. We need to do this ourselves via an overlay.
Bug in removing day headings breaks loading entries in headlines view.

When entries are removed from a view, day headings are removed in
entry removal callbacks if the entry was the last one from that date.
However, when multiple entries are being removed, we must check if
the heading hasn't already been removed by another callback before
attempting to do it, because of the asynchronous nature of removal.