Fixing extension bug. Controllers were merging their elements/events into the base Controller, causing ALL controllers to have the events and elements of ALL other controllers (ie clusterfuck). This is due to me not knowing that Mootools Object.merge is destructive tot he first argument passed in. Annoying, but fixed. RTFMLOL.
fixing yet another controller extension screwup. i was calling new
base().elements to get the elements from that controller and merge them
into the inheriting one, buit didnt realize that instantiating
controllers willy-nilly is a really horrible idea. oops.

now, when Controller.extend is called, in the generated class, it sets
controller.events & controller.elements into that class, and if it needs
to be extended again, it does so by looking for those elements within
the base class.

i think a lot of this spawned from the use case where you could do
something like

var Animal = Composer.Controller.extend({...});
var animal = new Animal();

var Pelican = animal.extend({...});

This is a horrible idea and not really in-line with our extension
syntax. I may do a lot of reworking having to do with exporting
instances instead of objects in composer. This should all be backwards
compatible too, but I'm starting to regret this decision. Luckily, its
easily changable.
changing exports to be static classes with built-in export functions.
adding "select_one" fn
Merge branch 'master' into static-export
ultimate version of static-export
removing injection annoyance
updating event system, bind/unbind accepts an array for the event name now, and binds the given callback to each of those events. fire_event now also checks for silent being an array or string. if its a string, it silences only that event. if its an array, it silences all passed events, if its true it silences all events (this is the same as it was before).
collections now have "upsert" which adds a model if it doesnt exist,
otherwise it updates the model with the given model's data. it checks
for existing based on id.

this is useful for keeping unique items in a collection based off their
id.

making a few tweaks \with code/comments as well (added a note above
Collection.sort)
adding at() function to collections, bugfix in select() having to do with strings
controllers can now take options on initialize, which are passed to attach. the main idea being you can pass {clean_injection: true} to clear out the HTML of the injectee before injecting the controllers el
exporting Composers Base and adding a Composer._export function. this is a step towards modularizing things by allowing exports from external files.
adding composer.filtercollection and composer.relational with a new note in readme
commenting tops of FilterCollection/RelationalModel to WARN people about alpha state and undocumentation. (Also adding license)
adding option for strict in Collection.find_by_id
fixing named callback bug.
fixing strange bug with Object.merge (my old nemesis) in Collection.upsert(). was causing weird data corruption. once again, fixed by giving an empty object as the first argument.
renamed "setup_relations" (default true) option to "skip_relational" (default false) in RelationalModel.set().
fixing null callback name bug
Merge branch 'master' of github.com:lyonbros/composer.js