generated JSignal and JSlot classes
implemented signals
implemented slots
updated signal emit method
generated meta object for Signal and Slot to inherit
implemented meta object parent and signature methods
JSignal now inherits from JMetaObject
JSlot now inherits JMetaObject
updated JSignal template
can connect slots(lambda/free/member functions) to JSignals
signal emit method now emits to all connected slots
removed slot class
slots can now be disconnected.  changed _slots container from vector to map
added check for if a slot is already registered
changed JObject to use map instead of unordered map
JObjects can register JSignals in the form of JMetaObjects
moved add/remove methods for signals to private
using const char* for signatures to prevent string copying
JObject can now retrieve registered signals via their signature
JObjects can now correctly emit a signal with specified params